【Nowcoder 上海五校賽】Wasserstein Distance
阿新 • • 發佈:2018-04-16
div 前一行 n) 示例 strong 提高 要求 AC tro
題目描述
左圖為第一堆泥土的初始形態,右圖為第二堆泥土的初始形態,顏色代表了一種可行的移動方案,使得第一堆泥土的形態變成第二堆泥土的形態
輸入描述:
輸入測試組數T,每組測試數據,第一行輸入n,1<=n<=100000,緊接著輸入兩行,每行n個整數,前一行為a1, a2,…,an,後一行為b1,b2,…,bn.其中0<=ai,bi<=100000,1<=i<=n,數據保證
輸出描述:
對於每組數據,輸出一行,將a土堆的形態變成b土堆的形態所需要花費的最小體力
[示例1]輸入
2 3 0 0 9 0 2 7 3 1 7 6 6 6 2
輸出
2 9
題解
其實就是一道推公式的題,之前在比賽的時候我們所使用的方法很麻煩,所以在這附上某位大神的做法。
#include<bits/stdc++.h> usingnamespace std; const int M=1e5+5; int a[M],b[M]; int main() { int n,t,i; cin>>t; while(t--) { scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); long long s=0,x=0; for(i=1;i<=n;i++) { scanf("%d",&b[i]); x+=a[i]-b[i]; if(x>0) s+=x; else s-=x; } printf("%lld\n",s); } return 0; }
【Nowcoder 上海五校賽】Wasserstein Distance