Cod sursa(job #929093)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 26 martie 2013 20:39:28
Problema Congr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <string>
#define DN 600005
using namespace std;

int v[DN],ind[DN];
string x;

int main()
{
    srand(time(NULL));
    int p;
    long long s=0;
    ifstream f("congr.in");
    ofstream g("congr.out");
    f>>p;
    getline(f,x); getline(f,x);
    for(int i=0;i<x.size();++i)
        if(isdigit(x[i]))
        {
            int nr=0;
            while(isdigit(x[i]))
            {
                nr=nr*10+x[i]-'0';
                ++i;
            }
            v[++v[0]]=nr;
            if(v[0]<=p)
                s+=nr;
            ind[++ind[0]]=ind[0];
        }
    while(s%p)
    {
        int a=rand()%p+1;
        int b=rand()%(p-1)+p+1;
        s+=(v[b]-v[a]);
        swap(v[a],v[b]);
        swap(ind[a],ind[b]);
    }
    for(int i=1;i<=p;++i)
        g<<ind[i]<<" ";
    return 0;
}