T1:Mixing Milk
题目分析:
这是一道模拟题,通过for循环模拟倒牛奶的过程
正确代码:
#include<bits/stdc++.h>
using namespace std;
int c[4],m[4];
int main() {
for(int x=1; x<=3; x++)cin>>c[x]>>m[x];
for(int x=1; x<=100; x++) {
int f=(x-1)%3+1,s;
if(f==3)s=1;
else s=f+1;
int mi=min(c[s]-m[s],m[f]);
m[f]-=mi;
m[s]+=mi;
}
cout<<m[1]<<endl<<m[2]<<endl<<m[3];
return 0;
}
错因:
未开long long
T2:Convention S
题目分析:
这是一道二分答案的题,通过二分寻找最大时间的最小值
正确代码:
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main() {
int n,m,c;cin>>n>>m>>c;
for(int i=1; i<=n; i++) cin>>a[i];
sort(a+1,a+n+1);
int l=0,r=a[n]-a[1];
while(l<r) {
int mid=(l+r)/2,cnt=1,sum=1;
for(int i=1; i<=n; i++)
if(a[i]-a[sum]>mid||i-sum+1>c) {
cnt++;
sum=i;
}
if(cnt&l

最低0.47元/天 解锁文章
1454

被折叠的 条评论
为什么被折叠?



