|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
代码如下, 不理解的地方在注释里, 题目在下面, 谢谢~- #include<stdio.h>
- #include<iostream>
- #include<algorithm>
- using namespace std;
- int A[100005];
- int main(){
- int n, i, a, b, m;
- cin >> n;
- for(i = 1; i <= n; i++){
- cin >> a >> b;
- A[i] = A[i-1] + a - b; // 前缀和数组, 看缺了多少, 就是要向后移动的值
- }
- sort(A+1, A+n+1);
- int mid = (n+1)/2;
- m = A[mid];
- long long ans = 0; // 取一个中间的值
- for(i = 1; i <= n; i++)ans += abs(m-A[i]); // 这里不懂为什么都用中间的减去每个花盆
- cout << ans;
- return 0;
- }
复制代码
输入:
输出: |
|