暑假cf50练之1

Codeforces Round #202 (Div. 2)

第一题水题但是wa了一发,排队记录下收到的25,50,100,看能不能找零,要注意100可以找25*3

复杂度O(n)

第二题贪心,先找出最小的花费,然后就能得出最长的位数,然后循环对每个位上的数看能不能加上剩余的油漆比现在这数大,输出即可

复杂度O(10n)

By 2016326603147, contest: Codeforces Round #202 (Div. 2), problem: (B) Color the Fence, Accepted, #
 #include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define MIN(a,b) a<b ? a:b

using namespace std;

const double g=10.0,eps=1e-9;
const int N=100000+10,maxn=10000+10,inf=0x3f3f3f;

int a[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n,minn=N,id;
    cin>>n;
    for(int i=1;i<10;i++)
    {
        cin>>a[i];
        if(minn>=a[i])
        {
            minn=a[i];
            id=i;
        }
    }
    if(minn>n)
    {
        cout<<-1<<endl;
        return 0;
    }
    int le=n%minn;
    for(int i=1;i<=(n-n%minn)/minn;i++)
    {
        int maxx=id;
        if(le==0)
        {
            cout<<id;
            continue;
        }
        for(int j=1;j<10;j++)
            if(le+minn>=a[j]&&j>maxx)
               maxx=max(maxx,j);
        cout<<maxx;
        le-=(a[maxx]-minn);
    }
    cout<<endl;
    return 0;
}

b题

第三题推公式,一个多小时还是没做出来

Let the answer be x games. Notice that max(a1,?a2,?…,?an)?≤?x. Then i-th player can be game supervisor in xai games. If we sum up we get  — it‘s the number of games in which players are ready to be supervisor. This number must be greater or equal to x — our answer.

Don‘t forget about that condition: max(a1,?a2,?…,?an)?≤?x.

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define MIN(a,b) a<b ? a:b

using namespace std;

const double g=10.0,eps=1e-9;
const int N=100000+10,maxn=10000+10,inf=0x3f3f3f;

ll a[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n,maxx=-1,sum=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        sum+=a[i];
        maxx=max(maxx,a[i]);
    }
    ll ans=maxx;
    if(sum%(n-1)==0)cout<<max(sum/(n-1),maxx)<<endl;
    else cout<<max(sum/(n-1)+1,maxx)<<endl;
    return 0;
}

C

D,E现在水平不够,先放着

时间: 2024-10-14 00:09:14

暑假cf50练之1的相关文章

暑假集训cf50练之7

Codeforces Round #409 第一题很水但是wa了一发,因为没考虑K前面是K的情况 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #inclu

暑假集训cf50练之12

这是一场爆0的比赛...... 第一题wa了20发,longlong改double再改unsigned long long还是wa,最后判断的时候改成除,边界设为1e19就过了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<ca

暑假集训cf50练之19

Codeforces Round #388 (Div. 2) A水,总是忘记输出个数 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<

暑假集训cf50练之18

Codeforces Round #426 (Div. 2) A,判断向哪边旋转的,枚举过的=  =,感觉我的太复杂了,应该有更简单的方法 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include&

暑假集训cf50练之15

CodeForces 402A 水题,模拟 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<cstdlib> #include&

暑假集训cf50练之8

Codeforces Round #400 最近好像总是有点不想打,专题也刷不动,还是坚持这做了一场,虽然打到一半就没打了...(反正通常都只能做出两题) 感觉自己切水题越来越熟练了,然而难题还是不会做.. A题,水,用vector存下来就行了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #in

暑假集训cf50练之3

Codeforces Round #349 (Div. 2) 第一题直接算就行了为了追求手速忘了输出yes导致wa了一发... 第二题技巧题,直接sort,然后把最大的和其他的相减就是构成一条直线,为了满足条件就+1 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdi

暑假集训cf50练之14

Codeforces Round #425 (Div. 2) A超级水,三分钟1a #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<c

暑假集训cf50练之10

A水题,判断第一个,后面的全是0 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<cstdlib> #include<cs