http://codeforces.com/contest/1013/problem/A
题意:输入n,下一行输入n个数,代表n堆石子的数量,再下一行输入n个数,代表操作后每堆的石子个数
操作:表示你可以对上一堆石子进行移动操作,可以把一堆石子某几个移动到另一堆,或把一堆石子某几个移走
让你判断操作后的石子堆数可不可能存在
思路:两次的石子数目总和作比较,第二次的只要不比第一次的多就存在
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <queue>
using namespace std;
#define ll long long
const int maxn = 1e5+50;
int n;
int a[maxn], b[maxn];
int main()
{
int sum1 = 0, sum2 = 0;
scanf("%d", &n);
for (int i = 0; i < n; i ++) {
cin >> a[i];
sum1 += a[i];
}
for (int i = 0; i < n; i ++) {
cin >> b[i];
sum2 += b[i];
}
if (sum1 >= sum2) printf("Yes\n");
else printf("No\n");
}