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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeForces839B[思维] Codeforces Round #428 (Div. 2)相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;
int n, k;
const int MOD = 1000000007;
int a[105], cnt[5];
void solve() {
    int t;
    cnt[4]=n,cnt[2]=2*n;
    for(int i=0;i<k;i++){
        t=min(a[i]/4,cnt[4]);
        a[i]-=4*t;
        cnt[4]-=t;
    }
    cnt[2]+=cnt[4];
    cnt[1]+=cnt[4];
    for(int i=0;i<k;i++){
        t=min(a[i]/2,cnt[2]);
        a[i]-=2*t;
        cnt[2]-=t;
    }
    cnt[1]+=cnt[2];
    for(int i=0;i<k;i++){
        t=min(a[i],cnt[1]);
        a[i]-=t;
        cnt[1]-=t;
    }
    for(int i=0;i<k;i++) 
        if(a[i]){
            puts("NO");
            return;
        }
    puts("YES");
}
int main() {
    cin >> n >> k;
    for (int i = 0; i < k; i++) {
        cin >> a[i];
    }
    solve();
    return 0;
}

 

以上是关于CodeForces839B[思维] Codeforces Round #428 (Div. 2)的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces 839B - Game of the Rows

CodeForces - Problem 1446 - Knapsack - 思维

[CodeForces]CodeForces - 13D 几何 思维

CodeForces - 631C ——(思维题)

CodeForces 816C 思维

CodeForces 1131B(思维题)