Pagini recente » Cod sursa (job #1607050) | Cod sursa (job #419864)
Cod sursa(job #419864)
#include <cstdio>
#include <vector>
using namespace std;
int n,x,i,k,max;
FILE * in = fopen("schi.in","rt");
FILE * out = fopen("schi.out","wt");
//void quicksort(int array[][30001],int left,int right);
int main()
{
vector<int> v1;
vector<int> v2;
fscanf(in,"%d",&n);
for(i=1;i<=n;i++)
{
fscanf(in,"%d",&x);
v2.push_back(i);
//printf("%d ",v1[i]);
if(i>1) // de ce?
for(k=0;k<i;k++)
{
if(v1[k] >= x) // toate valorile mai mari sau egale cu x
v1[k] = v1[k] + 1; // le retrogradeaza in clasament
}
v1.push_back(x);
//printf("%d\n",v1[i]);
}
//quicksort(vector,1,n);
// for(i=0;i<n;i++)
// fprintf(out,"%d\n",v2[i]);
for(i=0;i<n;i++)
v2[v1[i]] = i + 1;
for(i=1;i<=n;i++)
fprintf(out,"%d\n",v2[i]);
return (0);
}
/*void quicksort(int array[][30001],int left,int right)
{
int i,k,v,tmp1,tmp2;
if(left < right)
{
i = left - 1;
k = right;
v = array[0][right];
for(;;)
{
while(array[0][++i] < v);
while(array[0][--k] > v);
if(i >= k)
break;
tmp1 = array[0][i];
tmp2 = array[1][i];
array[0][i] = array[0][k];
array[1][i] = array[1][k];
array[0][k] = tmp1;
array[1][k] = tmp2;
}
tmp1 = array[0][i];
tmp2 = array[1][i];
array[0][i] = array[0][right];
array[1][i] = array[1][right];
array[0][right] = tmp1;
array[1][right] = tmp2;
quicksort(array,left,i-1);
quicksort(array,i+1,right);
}
}*/