Pagini recente » Cod sursa (job #1419983) | Cod sursa (job #1938167) | Cod sursa (job #1644723) | Borderou de evaluare (job #1036451) | Cod sursa (job #432049)
Cod sursa(job #432049)
#include <iostream>
//#include <conio.h>
using namespace std;
#define LL long long
LL N, K, M;
int main() {
FILE *f1=fopen("farfurii.in", "r"), *f2=fopen("farfurii.out", "w");
long long i, j, p, q, c;
fscanf(f1, "%lld %lld", &N, &K);
while(1) {
if((LL)M*(M-1)/2<=K && (LL)(M+1)*M/2>K) break;
M++;
}
if((LL)M*(M-1)/2==K) {
for(i=1; i<=N-M; i++) {
fprintf(f2, "%lld ", i);
}
for(i=N; i>=N-M+1; i--) {
fprintf(f2, "%lld ", i);
}
}
else {
for(i=1; i<=N-M-1; i++) {
fprintf(f2, "%lld ", i);
}
fprintf(f2, "%lld ", N-((LL)(M+1)*M/2-K));
for(i=N; i>=N-M; i--) {
if(i!=N-((LL)(M+1)*M/2-K)) {
fprintf(f2, "%lld ", i);
}
}
}
fclose(f1); fclose(f2);
//getch();
return 0;
}