1. 程式人生 > >Avito Cool Challenge 2018 B. Farewell Party ( CF 1081B )

Avito Cool Challenge 2018 B. Farewell Party ( CF 1081B )

題目:Farewell Party

程式碼:

#include<bits/stdc++.h>
using namespace std;

#define read(x) scanf("%d",&x)
#define maxn 100000

int n;
vector<int> a[maxn+5];

int col[maxn+5],cnt;

int main() {
	read(n);
	for(int i=1;i<=n;i++) {
		int x;
		read(x);
		a[x].push_back(i);
		if(x>=n) goto
End; } for(int i=0;i<n;i++) { if(!a[i].size()) continue; int lst=n-i; if(a[i].size()%lst) goto End; for(int j=0;j<a[i].size();j++) { int x=a[i][j]; col[a[i][j]]=cnt+j/lst+1; } cnt+=a[i].size()/lst; } printf("Possible\n"); for(int i=1;i<=n;i++) printf("%d ",col[
i]); return 0; End:; printf("Impossible"); return 0; }