Pagini recente » Viata de dupa olimpiade (partea III) | Cod sursa (job #1885552) | Cod sursa (job #2272083) | Cod sursa (job #1145339) | Cod sursa (job #1238871)
#include<algorithm>
#include<cstdio>
#include<ctime>
#define DIM 8192
#define ll long long
using namespace std;
int i,n,p1,p2,p[600010],a[600010];
ll s;
char buff[DIM];
int poz = 0;
void cit(int &nr)
{ nr=0;
while(buff[poz]<'0'||buff[poz]>'9')
if(++poz==DIM) fread(buff,1,DIM,stdin),poz=0;
while('0'<=buff[poz]&&buff[poz]<='9')
{ nr=nr*10+buff[poz]-'0';
if(++poz==DIM) fread(buff,1,DIM,stdin),poz=0;
}
}
int main()
{ freopen("congr.in","r",stdin);
freopen("congr.out","w",stdout);
cit(n);
for(i=1;i<2*n;++i)
{ cit(a[i]);
if(i<=n) s+=a[i];
p[i]=i;
}
srand(time(NULL));
while(s%n)
{ p1=rand()%n+1;
p2=rand()%(n-1)+n+1;
s=s-a[p1]+a[p2];
swap(p[p1],p[p2]);
swap(a[p1],a[p2]);
}
for(i=1;i<=n;++i)
printf("%d ",p[i]);
return 0;
}