Cod sursa(job #1107102)

Utilizator vyrtusRadu Criuleni vyrtus Data 13 februarie 2014 17:16:39
Problema Schi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <algorithm>
#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[31];

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] = 100;

    for (int i=n;i>0;i--)
    {
        int x = a[i].poz ;
        int sum , k = 1;
         while (sum + p[k] < x ) {sum +=100; k++; }
            sum += (k-1) * 100;

          while ( x != 0)
          {
              sum++;
              if (b[sum] == 0) x--;
          }
          p[k]--;
          b[sum] = a[i].ind;
    }


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

    return 0;
}