Pagini recente » Cod sursa (job #1260278) | Cod sursa (job #2241379) | Cod sursa (job #2733568) | Cod sursa (job #1237267) | Cod sursa (job #1723768)
#include <bits/stdc++.h>
using namespace std;
class InputReader {
public:
InputReader() {}
InputReader(const char *file_name) {
input_file = fopen(file_name, "r");
cursor = 0;
fread(buffer, SIZE, 1, input_file);
}
inline InputReader &operator >>(int &n) {
while(buffer[cursor] < '0' || buffer[cursor] > '9') {
advance();
}
n = 0;
while('0' <= buffer[cursor] && buffer[cursor] <= '9') {
n = n * 10 + buffer[cursor] - '0';
advance();
}
return *this;
}
private:
FILE *input_file;
static const int SIZE = 1 << 17;
int cursor;
char buffer[SIZE];
inline void advance() {
++ cursor;
if(cursor == SIZE) {
cursor = 0;
fread(buffer, SIZE, 1, input_file);
}
}
}f("congr.in");
ofstream g("congr.out");
vector <int> c,d;
int n,i,a,b,v[6<<17];
long long sum=0;
int main(){
srand(time(0));
f>>n;
for(i=1;i<2*n;++i){
f>>v[i];
if(i<=n){
sum+=v[i];
c.push_back(i);
}
else d.push_back(i);
}
while(sum%n>0){
a=rand()%n;
b=rand()%(n-1);
sum=sum-v[c[a]]+v[d[b]];
swap(c[a],d[b]);
}
for(i=0;i<c.size();++i) g<<c[i]<<' ';
return 0;
}