Cod sursa(job #466658)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 27 iunie 2010 12:52:01
Problema Congr Scor 0
Compilator cpp Status done
Runda Stelele Informaticii 2010, clasele X-XII, Ziua 1 Marime 0.79 kb
#include<stdio.h>
#include<vector>
#define Nmax 300010
using namespace std;

int P, viz[Nmax], n, i, x, r, cnt; 
vector<int> V[Nmax];

int main()
{
	freopen("congr.in","r",stdin);
	freopen("congr.out","w",stdout);
	
	scanf("%d",&P);
	
	n = (P<<1)-1;
	
	for ( i = 1 ; i <= n ; i++ )
	{
		scanf("%d",&x);
		r = x%P;
		
		V[r].push_back(i);
		
		if(!viz[r]) 
		{
			cnt++;
			if ( cnt == P && P != 2)
			{
				for( i = 0 ; i < P ; i++ )
					printf("%d ",V[i][0]);
				return 0;
			}
		}
		
		viz[r]++;
		
		if ( viz[r] == P )
		{
			for( i = 0 ; i < P ; i++ )
				printf("%d ",V[r][i]);
			return 0;
		}
	}
	
	if ( P == 2 )
	{
		if( viz[0] >= 2 ) 
			printf("%d %d",V[0][0],V[0][1]);
		else
			printf("%d %d",V[1][0],V[1][1]);
		return 0;
	}
	
	return 0;
}