Educational Codeforces Round 103 (Rated for Div. 2)爆炸记
A
这题WA了2次,出师不利。n>k的情况很特殊,若n%k==0答案是1,否则是2,n<=k时,答案是k/n上取整
#include<bits/stdc++.h> using namespace std; int main() { int T,n,k,rest;scanf("%d",&T); while(T--) { scanf("%d%d",&n,&k); if(n%k==0)puts("1"); else if(n>k)puts("2"); else printf("%d ",(k-1)/n+1); } }
B
容易发现修改数据只需加在第一个数就行,然后循环枚举一遍x/sum<=k/100,移项得sum>=100x/k,每个位置找最大值
#include<bits/stdc++.h> using namespace std; int T,n,k; long long ans,s,x; int main() { scanf("%d",&T); while(T--) { scanf("%d%d",&n,&k); s=ans=0; for(int i=1;i<=n;i++) { scanf("%lld",&x); if(i>1)ans=max(ans,(100*x-1)/k+1-s); s+=x; } printf("%lld ",ans); } }