Cod sursa(job #466656)

Utilizator loginLogin Iustin Anca login Data 27 iunie 2010 12:51:24
Problema Congr Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 1 Marime 0.73 kb
# include <fstream>
# include <iostream>
# include <vector>
# include <algorithm>
# define DIM 300003
# define pb push_back
using namespace std;
int p, v[2*DIM+1], s[2*DIM+1], I[2*DIM+1];

void read()
{
	ifstream fin ("congr.in");
	fin>>p;
	for(int i=1;i<=2*p-1;++i)
		fin>>v[i], I[i]=i;
}

int cmp (int i, int j)
{
	if (v[i]<v[j])return 1;
	return 0;
}


void afis (int st, int dr)
{
	ofstream fout ("congr.out");
	for(;st<=dr;++st)
		fout<<I[st]<<" ";
}


void solve ()
{
	int i;
	sort(I+1, I+2*p, cmp);
	for(i=1;i<=p;++i)
		s[i]=(s[i-1]+v[I[i]])%p;
	--i;
	while(s[i] && i<=2*p-1)
	{
		++i;
		s[i]=(s[i-1]+v[I[i]]-v[i-p])%p;
	}
//	cout<<p<<" ;  "<<i<<" <= "<<2*p-1<<" "<<s[i];
	afis (i-p+1, i);
}

int main ()
{
	read ();
	solve ();
	return 0;
}