标签:tchar algorithm 卡常数 ios register getch get clu time
解法1:
N^2的暴力程序,卡卡常数就过了。
#include <cstdio> #include <algorithm> #include <cmath> int n; int a[10005]; long long tot; inline bool Read(int &ret){ char c; int flag = 1; if(c=getchar(),c==EOF) return 0; while(c!=‘-‘ && (c<‘0‘||c>‘9‘)) c=getchar(); flag = (c==‘-‘) ? -1 :1; ret = (c==‘-‘) ? 0 : (c-‘0‘); while(c=getchar(),c>=‘0‘&&c<=‘9‘) ret=ret*10+(c-‘0‘); ret*=flag; return 1; } int main(){ Read(n); for(register int i=1;i<=n;++i){ Read(a[i]); for(register int j=1;j<i;j++){ tot+=abs(a[j]-a[i]); } } tot*=2; printf("%lld\n",tot); return 0; }
解法2:
排序后,每段距离的对答案的贡献值是 左边的牛×右边的牛。
#include <iostream> #include <algorithm> #include <cmath> #include <cstdio> #include <cstdlib> #define LL long long using namespace std; int n,a[10005]; int main() { scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+1+n); LL ans=0; for (int i=2;i<=n;i++) { ans=ans+(long long )(a[i]-a[i-1])*((i-1)*(n+1-i)); } cout<<ans*2<<endl; return 0; }
BZOJ 1679 [Usaco2005 Jan]Moo Volume 牛的呼声
标签:tchar algorithm 卡常数 ios register getch get clu time
原文地址:http://www.cnblogs.com/OIerLYF/p/7521324.html