Pagini recente » Cod sursa (job #315351) | Cod sursa (job #685492) | Cod sursa (job #1801187) | Cod sursa (job #2540891) | Cod sursa (job #1716534)
#include <cstdlib>
#include <ctime>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
ifstream fin("congr.in");
ofstream fout("congr.out");
typedef long long i64;
const int pmax= 300000;
int v[pmax*2];
string buffer;
string::iterator buffer_it;
vector <int> x1, x2;
void read_int_nn( int &x ) {
for ( ; *buffer_it>'9' || *buffer_it<'0'; ++buffer_it ) ;
for ( x= 0; *buffer_it<='9' && *buffer_it>='0'; ++buffer_it ) {
x= x*10+*buffer_it-'0';
}
}
int main( ) {
getline( fin, buffer, (char)0 );
buffer_it= buffer.begin();
int p;
i64 sum= 0;
read_int_nn(p);
for ( int i= 1; i<=p*2-1; ++i ) {
read_int_nn(v[i]);
if ( i<=p ) {
sum= (i64)sum+v[i];
x1.push_back(i);
} else {
x2.push_back(i);
}
}
srand(time(NULL));
while ( sum%p>0 ) {
int x= rand()%p, y= rand()%(p-1);
sum= (i64)sum-v[x1[x]]+v[x2[y]];
int aux= x1[x];
x1[x]= x2[y], x2[y]= aux;
}
for ( int i= 0; i<(int)x1.size(); ++i ) {
fout<<x1[i]<<" ";
}
fout<<"\n";
return 0;
}