Codeforces Round #437 C. Ordering Pizza】的更多相关文章

题意: n个人吃披萨,总共有两种披萨,每种披萨都是有S块,给出每个人要吃的块数,吃第一种披萨能获得的happy值,吃第二种披萨能获得的happy值,问你,在购买的披萨数最少的情况下能获得的最大的总的happy值是多少(披萨可以买任意多个,吃不完也行 2333333) Examples Input 3 123 5 74 6 75 9 5 Output 84 Input 6 107 4 75 8 812 5 86 11 63 3 75 9 6 Output 314 思路:首先肯定是每个人都吃happ…
Codeforces Round #437 (Div. 2) codeforces 867 A. Between the Offices(水) 题意:已知白天所在地(晚上可能坐飞机飞往异地),问是否从西雅图飞到旧金山次数更多. 题解:只要判断第一天和最后一天状态即可. #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; int n; char s[N]; int ma…
Problem A Between the Offices 水题,水一水. #include<bits/stdc++.h> using namespace std; int n; ]; int main() { cin>>n; ,cnt2=; scanf("%s",s); ;i<n-;i++) { ]=='F') cnt1++; ]=='S') cnt2++; } if(cnt1>cnt2) puts("YES"); else p…
[链接]h在这里写链接 [题意]     给你参赛者的数量以及一个整数S表示每块披萨的片数.     每个参数者有3个参数,si,ai,bi;     表示第i个参赛者它要吃的披萨的片数,以及吃一片第一种披萨增加的幸福感,     以及吃一片第二种披萨增加的幸福感.     两种披萨都能任意数量地订购.     但是总数num有一个上限.     就是S*num>=∑si     且num最小.     也就是说相当于给你一个num;     让你求两种披萨各要买多少个a,b(a+b==num)…
A:显然构造一组只包含1和2面值的数据即可. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long char getc(){char c=getchar();while ((c<'A'|…
题意:买卖股票,给你n个数,你可以选择买进或者卖出或者什么都不做,问你最后获得的最大收益是多少. Examples Input 910 5 4 7 9 12 6 2 10 Output 20 Input 203 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 Output 41In the first example, buy a share at 5, buy another at 4, sell one at 9 and another at 12. Then b…
题意: 给你一个方案数,要求你输出满足该条件的总金额,面值数,和各个面值是多少,答案有多个,随便输出一个即可. Examples Input 18 Output 30 41 5 10 25 Input 3 Output 20 25 2 Input 314 Output 183 46 5 2 139 思路:如果A是1,那么就用1张1元的就好:如果大于1,价格都是2*(A-1),硬币只有1和2,因为,你用(A-1)个2元0个1元,然后是(A-2)个2个1元,这样方案数就相当于A-1减到0,共A种,方…
题意:减前面的数,加后面的数,保证最后不剩下数,加减次数要相同: 题解:emmmmm,看出是个贪心,先对价值排序,相同就对下标排序,规律是每次找第一个,然后从后往前找没有使用过的下表比他大的第一个,相减,然后直到找不到为止, 但是这样的时间复杂度是O(N^2),想了很久还是不知道怎么用优先队列来优化= =,结果发现别人都不是这个规律做的....,都是直接暴力扔进去,直接减,为了保证减的是最大的,把减过后的数仍两个到队列里,这样保证了再次减的时候相当于,当前数减了之前那个数,而且把中间数扔进了队列…
[链接]h在这里写链接 [题意] 在这里写题意 [题解] 在这里写题解 [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc++.h> using namespace std; string s; int main() { //freopen("F:\\rush.txt","r",stdin); int len; scanf("%d",&len); cin >> s; int…
[链接]h在这里写链接 [题意]     给你一个金额N,和硬币的类型总数M;     (完全背包),然后问你组成N的方案数.     使得,用这些硬币组成价值为N的金额的方案数为A;     现在A已知,让你求出一组合法的N,M以及每个硬币的面值. [题解] 只要面值为1和面值为2. 做个完全背包.就能发现这两个能够覆盖到所有的方案数. [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/stdc++.h> using namespace std; long l…