Cod sursa(job #291707)
| Utilizator | Data | 30 martie 2009 11:12:25 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <fstream>
#include <math.h>
using namespace std;
ofstream ofis("farfurii.out");
ifstream ifis("farfurii.in");
long long n,a[100244],k,m,i,temp,aux;
int main()
{
ifis>>n>>k;
m=(1+round(sqrt(1+8*k)))/2;
for (i=1; i<=n-m; i++)
a[i]=i;
for (i=n; i>=n-m+1; i--)
a[n-i+n-m+1]=i;
temp=k-m*(m-1)/2;
aux=a[n-m]; a[n-m]=a[n-temp+1]; a[n-temp+1]=a[n]; a[n]=aux;
for (i=1; i<=n; i++)
ofis<<a[i]<<" ";
return 0;
}
