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 |
why WA!!!help!!#include<iostream> using namespace std; #define N 500000 long long x,a[2][N]; void merge(long long *sr,long long *tr,int i,int m,int n) { int j=m+1,k=i; for(;i<=m&&j<=n;++k) { if(sr[i]<=sr[j])tr[k]=sr[i++]; else x+=j-k,tr[k]=sr[j++]; } if(i<=m)for(;k<=n;)tr[k++]=sr[i++]; if(j<=n)for(;k<=n;)tr[k++]=sr[j++]; } int main() { int n; cin>>n;; while(n) { x=0; for(int i=0;i<n;i++)cin>>a[0][i]; int k=0; for(int i=1;i<n;i*=2) { for(int j=0;j+i<n;j+=2*i) merge(a[k],a[(k+1)%2],j,j+i-1,(j+2*i-1)<(n-1)?(j+2*i-1):(n-1)); k=(k+1)%2; } cout<<x<<endl; cin>>n; } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator