Cod sursa(job #28521)

Utilizator RazvanSSavu Razvan RazvanS Data 7 martie 2007 22:22:42
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <math.h>

using namespace std;

int n;
long long k;

int main(void)
     {ifstream fin("farfurii.in");
      fin>>n>>k;
      fin.close();
      long long m, p;
      int i;
      m=(1+sqrt(1+8*k))/2;
      ofstream fout("farfurii.out");
      if(2*k==m*(m-1))
          { for(i=1;i<=n-m;i++)  fout<<i<<" ";
            for(i=0;i<m;i++) fout<<n-i<<" ";
            fout<<'\n';
            fout.close();
          }
       else {p=m*(m+1)/2;
             for(i=1;i<=n-m-1;i++)  fout<<i<<" ";
             fout<<n+k-p<<" ";
             for(i=0;i<=m;i++) if(i!=p-k) fout<<n-i<<" ";
             fout<<'\n';
             fout.close();
             }
      
      
      return 0;
     }