暑假集训 7月11日

CF D
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+10;
int cnt[30];
signed main()
{
//    ios::sync_with_stdio(0);
//    cin.tie(0);
//    cout.tie(0);
    int t;
    cin>>t;
    while (t--)
    {
        string s;
        cin>>s;
        int p;
        cin>>p;
        int len=s.size();
        ll sum=0;
        memset(cnt,0,sizeof cnt);
        for (int i=0;i<len;i++)
        {
            sum+=(s[i]-'a'+1);
            cnt[s[i]-'a'+1]++;
        }
        if (sum<=p)cout<<s<<"\n";
        else
        {
            int hh=26;
            int flag=1;
            while (sum>p)
            {
                if (cnt[hh])
                {
                    cnt[hh]--;
                    sum-=(hh);
                }
                else
                {
                    hh--;
                }
            }
            int num=0;
            for (int i=0;i<len;i++)
            {
                if (cnt[s[i]-'a'+1])
                {
                    num++;
                    cout<<s[i];
                    cnt[s[i]-'a'+1]--;//忘记加'a'了,其次忘记减减了
                }
            }
            string b="";
            if (num)cout<<b;
            cout<<"\n";
        }
    }
    return 0;
}

 VJ I - Older Brother

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10;
unordered_map<ll,ll>prime;
signed main()
{
    ll q;
    while (cin>>q)
    {
        prime.erase(prime.begin(),prime.end());
        if (q==1)
        {
            puts("no");
        }
        else
        {
            for (ll i=2; i<=q/i; i++)
            {
                while (q%i==0)
                {
                    q/=i;
                    prime[i]++;
                }
            }
            if (q>1)prime[q]++;
            if (prime.size()==1)puts("yes");
            else puts("no");
        }
    }
    return 0;
}

 

posted @ 2022-07-11 11:08  好腻友Π  阅读(21)  评论(0)    收藏  举报