Cod sursa(job #932515)

Utilizator NicuCJNicu B. NicuCJ Data 28 martie 2013 23:30:40
Problema Schi Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
#include <set>
using namespace std;

struct asd
{
	int poz, val;
};

class comp
{
public:
	bool operator ()(asd A, asd B)
	{
		if(A.poz==B.poz)
		{
			return A.val>B.val;
		}
		return A.poz<B.poz;
	}
};

multiset <asd, comp> st;
multiset <asd, comp>::iterator it;
int n, i, poz[30001], sir[30001], j, k;
int main()
{
	ifstream f("schi.in");
	ofstream g("schi.out");
	f>>n;
	for(i=1; i<=n; i++)
	{
		f>>poz[i];
	}
	for(i=1; i<=n; i++)
	{
		if(sir[poz[i]])
		{
			k++;
			for(j=k; j>poz[i]+1; j--)
			{
				sir[j]=sir[j-1];
			}
			sir[poz[i]+1]=sir[poz[i]];
			sir[poz[i]]=i;
		}
		else
		{
			sir[poz[i]]=i;
			k++;
		}
	}
	for(i=1; i<=n; i++)
	{
		g<<sir[i]<<"\n";
	}
}