本文主要是介绍埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 A - Wasserstein Distance,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
左图为第一堆泥土的初始形态,右图为第二堆泥土的初始形态,颜色代表了一种可行的移动方案,使得第一堆泥土的形态变成第二堆泥土的形态
输入描述:
输入测试组数T,每组测试数据,第一行输入n,1<=n<=100000,紧接着输入两行,每行n个整数,前一行为a1, a2,…,an,后一行为b1,b2,…,bn.其中0<=ai,bi<=100000,1<=i<=n,数据保证
输出描述:
对于每组数据,输出一行,将a土堆的形态变成b土堆的形态所需要花费的最小体力
输入
2 3 0 0 9 0 2 7 3 1 7 6 6 6 2
输出
2 9
备注:
输入数据量较大,建议使用scanf/printf
思路:不要想太多,不要想太多,不要想太多,重要的事情说三遍!
ACDAIMAI:
#include <iostream>
#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
int main()
{long long t,n,a[100005],b[100005];scanf("%lld", &t);while(t--){scanf("%lld", &n);long long ans = 0;for(int i = 0; i < n; i++) scanf("%lld",&a[i]);for(int i = 0; i < n; i++) scanf("%lld",&b[i]);for(int i = 0; i < n; i++){if(a[i] == b[i]) continue;ans += abs(b[i] - a[i]);a[i+1] -= b[i] - a[i];}printf("%lld\n",ans);}
}
这篇关于埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 A - Wasserstein Distance的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!