A. Got Any Grapes?

Codeforces Round #538 (Div. 2) 部分题解思路

 

题目大意:

三个人分食一定量的葡萄,Andrew, Dmitry and Michal 各自有各自的口味和要求。

问准备的各葡萄种类的数量能否满足他们的要求。

Andrew 只吃绿色葡萄;

Dmitry 不吃红葡萄;

Michal 来者不拒;

那么我们依次满足他们的要求,优先满足Andrew,D然后用剩余量去比较即可。

 

AC代码:

#include <iostream>
using namespace std;
int x,y,z,a,b,c;
int main() {
    cin>>x>>y>>z;
    cin>>a>>b>>c;
    if(a+b+c<x+y+z) {
        cout<<"NO"<<endl;
    } else {
        if(a>=x&&a-x+b>=y) {
            cout<<"YES"<<endl;
        } else {
            cout<<"NO"<<endl;
        }
    }
    return 0;
}

 

B. Yet Another Array Partitioning Task

Codeforces Round #538 (Div. 2) 部分题解思路

 

题目大意:

给定一组数列,要求分割成k段,取k段中最大的m个数字之和。

求这个最大和以及分割的数组下标(从1开始记录)

 

思路:

最大和很好求出,sort一遍后直接加上最大的m*k个数字即可得到;

 

相关文章: