Cod sursa(job #2143264)
| Utilizator | 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;
}
