Source
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=121539#problem/H
My Soluton
贪心
每次找钱,都是优先使用 大票, 因为小票具有大额票的所有功能, 而且具有大额票所不具有的功能, 所以每次优先使用大额飘
//由于用了自己的一键测试多组数据的版
//!前面有些数据没有重置, 白白检查了这么长时间(┬_┬)
#include
#include
#include
using namespace std;
typedef long long LL;
const int maxn = 1e6 + 8;
int Fstore[6];
int main()
{
#ifdef LOCAL
freopen("a.txt", "r", stdin);
//freopen("b.txt", "w", stdout);
int T = 1;
while(T--){
#endif // LOCAL
memset(Fstore, 0, sizeof Fstore);
int n, k, f1, f2, f3, f4, f5;
bool ans = true;
scanf("%d", &n);
while(n--){
scanf("%d%d%d%d%d%d", &k, &f1, &f2, &f3, &f4, &f5);
Fstore[1] += f1;Fstore[2] += f2; Fstore[3] += f3; Fstore[4] += f4; Fstore[5] += f5;
//for(int i = 5; i >= 0; i--){
k = f1 + f2*5 + f3*10 + f4*20 + f5*50 - k;//if(T == 0) cout<= k/50) {Fstore[5] -= k/50;k -= (k/50)*50; }
if(Fstore[4] >= k/20) {Fstore[4] -= k/20;k -= (k/20)*20; }
if(Fstore[3] >= k/10) {Fstore[3] -= k/10;k -= (k/10)*10; }
if(Fstore[2] >= k/5) {Fstore[2] -= k/5;k -= (k/5)*5; }
if(Fstore[1] >= k) Fstore[1] -= k;
else {ans = false; break;}
//}
}
if(ans) printf("yes");
else printf("no");
#ifdef LOCAL
printf("n");
//!前面有些数据没有重置, 白白检查了这么长时间(┬_┬)
}
#endif // LOCAL
return 0;
}
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
https://www.prolightsfxjh.com/
Thank you!
------from ProLightsfx
非特殊说明,本博所有文章均为博主原创,未经许可不得转载。
如经许可后转载,请注明出处:https://prolightsfxjh.com/article/uestc-2016-summer-training-1-div-2-h-queue-a/
共有 0 条评论