| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:太奇怪了 输入数据也需要long long ???In Reply To:太奇怪了 输入数据也需要long long ??? Posted by:dxtkdxtk at 2011-01-21 23:48:56 我也是啊。。。
我排序以后O(n)的递推
改成long long x[10005];就AC了,不解。。。
我看discuss里有的程序不用这样啊。。。
------------------------
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long f[10005];
int x[10005];
long long solve(int n){
if(n==1)return 0;
if(n==2)return 2*(x[2]-x[1]);
int i;
f[2]=x[2]-x[1];
f[3]=x[3]-x[1]+x[3]-x[2]+f[2];
for(i=4;i<=n;i++)
{
f[i]=(i-1)*(x[i]-x[i-1])+2*f[i-1]-f[i-2];
}
return 2*f[n];
}
int main(){
int n;
int i;
// freopen("aaa.txt","r",stdin);
while(scanf("%d",&n)!=EOF){
for(i=1;i<=n;i++)scanf("%d",&x[i]);
sort(x+1,x+1+n);
cout<<solve(n)<<endl;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator