Cod sursa(job #2623124)
Utilizator | Avram Daniel AvramDaniel | Data | 2 iunie 2020 17:11:32 |
---|---|---|---|
Problema | Farfurii | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include<bits/stdc++.h>
using namespace std;
int main(){
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
long int n,k;
scanf("%d%d", &n, &k);
long int N = (1+ sqrt(1 + 8*k) )/2, i;
long int K = N*(N - 1)/2;
if(K < k){
K+=N;
N++;
}
for(i = 1; i<=(n - N);i++)
printf("%ld ",i);
int dif = (n - N);
printf("%ld ",n - (K - k));
N+=dif;
for(i = N; i > N - (K - k);i--)
printf("%ld ",i);
for(i = N - (K - k)-1; i>0;i--)
printf("%ld ",i);
return 0;
}