Cod sursa(job #2143264)

Utilizator sichetpaulSichet Paul sichetpaul Data 25 februarie 2018 19:12:39
Problema Farfurii Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;
long bin(long x) {
   long st=1,dr=x,mij,Min=x;
   while (st<=dr) {
     mij=(st+dr)/2;
     if ((mij*(mij-1))/2>=x) Min=min(Min,mij),dr=mij-1;
     else st=mij+1;
   }
   return Min;
}
int main()
{ long n,m=1,k,i,x;
    ifstream f("farfurii.in");
    ofstream g("farfurii.out");
    f>>n>>k;
    m=bin(k);
    x=(m*(m-1))/2-k;
    for (i=1;i<=n-m;++i)
        g<<i<<" ";
    if (x>0) g<<n-x<<" ";
    for (i=n;i>=n-m+1;--i)
        if (i!=n-x) g<<i<<" ";
        else if (x==0) g<<i<<" ";
    return 0;
}