Cod sursa(job #1858037)

Utilizator CodrinsahCotarlan Codrin Codrinsah Data 26 ianuarie 2017 22:45:59
Problema Farfurii Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;
ifstream fi ("farfurii.in");
ofstream fo ("farfurii.out");
unsigned long long n,k,st,smax,i,j,indice,fr[100006];
int main()
{
    fi>>n>>k;st=0;
    for (i=1;i<=n;i++)
    {
      smax=(n-i)*(n-i-1)/2;
      if (smax>=k)
        while (1)
      {
        st++;
        if (fr[st]==0)
        {
          fr[st]++;
          fo<<st<<' ';
          break;
        }
      }
      else
      {
        indice=k-smax;
        j=st;
        while (indice>0)
        {
          if (fr[j]==0) indice--;
          j++;
        }
        fr[j]++;
        fo<<j<<' ';
        i=n+1;
      }
    }
    for (i=n;i>=1;i--)
      if (fr[i]==0) fo<<i<<' ';
    return 0;
}