2019杭电多校 第八场 6667-Roundgod and Milk Tea【思维】
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=6667
大致题意:
有n个班级,每个班级都有a个人,做出b杯奶茶。每个班不能喝自己做的奶茶,问最多有多少人喝到奶茶。
思路:
模拟,不喝自己班的即可。
有个注意的地方,会爆 int,所以要用 long long 不然会WA的。
代码:
#include<iostream>
#include<string.h>
#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
#define mem(a,b) memset(a,b,sizeof(a))
ll tea[1000005];
ll man[1000005];
int main() {
ll t;
cin >> t;
while(t--) {
ll n;
cin >> n;
mem(tea,0);
mem(man,0);
ll sum = 0;
for(ll i = 0; i < n; i++) {
scanf("%lld %lld",&man[i],&tea[i]);
sum += tea[i];
}
ll ans = 0;
for(ll i = 0; i < n; i++) {
if(sum - tea[i] >= man[i]) {
ans += man[i];
}
else if(sum - tea[i] < man[i]) {
ans += sum - tea[i];
}
}
printf("%lld\n",min(sum,ans));
}
}