Codeforces 839B - Game of the Rows

Posted Wisdom+.+

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces 839B - Game of the Rows相关的知识,希望对你有一定的参考价值。

839B - Game of the Rows

思路:先放4个的,然后再放2个的,最后再放1个的。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset((a),(b),sizeof(a))
int a[105];

int main()
{
    int n,k;
    cin>>n>>k;
    int c2=n*2; 
    int c4=n;
    for(int i=1;i<=k;i++)cin>>a[i];
    
    for(int i=1;i<=k;i++)
    {
        int c=min(c4,a[i]/4);
        c4-=c;
        a[i]-=c*4;
    }
    
    c2+=c4;//剩下的4个连在一起的也可以放2个的 
    for(int i=1;i<=k;i++)
    {
        int c=min(c2,a[i]/2);
        c2-=c;
        a[i]-=c*2;
    }
    
    int t=c2+c4;//原来的4个连在一起的放二个的时候只放了一半,而且放了一半也可能没放满 
    for(int i=1;i<=k;i++)
    {
        t-=a[i];
    }
    
    if(t<0)cout<<"NO"<<endl;
    else cout<<"YES"<<endl;
    return 0;
}

 

以上是关于Codeforces 839B - Game of the Rows的主要内容,如果未能解决你的问题,请参考以下文章

CodeForces839B[思维] Codeforces Round #428 (Div. 2)

CodeForces 670B Game of Robots

Codeforces451A-Game With Sticks-思维

CodeForces - 1538A Stone Game博弈

CodeForces 462B Appleman and Card Game(贪心)

codeforces Epic Game 题解