Cod sursa(job #1107114)

Utilizator vyrtusRadu Criuleni vyrtus Data 13 februarie 2014 17:21:35
Problema Schi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <iostream>

#define nmax 40000
using namespace std;

ifstream f("schi.in");
ofstream g("schi.out");

struct rez
{
    int poz,ind;
};

rez a[nmax];
int  b[nmax], n, p[32];

int main()
{
    f >> n;
      for (int i=1;i<=n;i++)
      {
          f >> a[i].poz;
          a[i].ind = i;
      }
    for (int i=1;i<=30;i++)
        p[i] = 200;

    for (int i=n;i>0;i--)
    {
        int x = a[i].poz ;
        int sum = 0 , k = 1;
         while (sum + p[k] <= x ) {sum += 200; k++; }
            p[k] --;
          while ( x != 0)
          {
              sum++;
              if (b[sum] == 0) x--;
          }
          b[sum] = a[i].ind;
    }

 for (int i=1;i<=n;i++)
    g << b[i] << " ";
    return 0;
}