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 - 思维