Cod sursa(job #1097475)
| Utilizator | Data | 3 februarie 2014 15:00:13 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Teme Pregatire ACM Unibuc 2013 | Marime | 0.5 kb |
#include <stdio.h>
using namespace std;
long long N,K,S=1,VAL;
void solve()
{
scanf("%lld %lld\n",&N,&K);
long long i;
while (S*(S+1)/2<=K) S++;
for (i=1;i<N-S;i++) printf("%lld ",i);
VAL=N-(S*(S+1)/2)+K;
printf("%lld ",VAL);
for (i=N;i>=N-S;i--)
if (i!=VAL) printf("%lld ",i);
}
int main()
{
freopen ("farfurii.in","r",stdin);
freopen ("farfurii.out","w",stdout);
solve();
fclose(stdin);
fclose(stdout);
return 0;
}
