UESTC 2016 Summer Training #1 Div.2 H – Queue (A) 贪心

ProLightsfx 2017-7-6 137 7/6
H - Queue (A) 贪心

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

- THE END -
Tag:

ProLightsfx

11月15日12:46

最后修改:2024年11月15日
0

非特殊说明,本博所有文章均为博主原创,未经许可不得转载。

共有 0 条评论