Cod sursa(job #844794)
Utilizator | Data | 29 decembrie 2012 20:15:13 | |
---|---|---|---|
Problema | Farfurii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<fstream>
#include<stdio.h>
using namespace std;
#define NMAX 100009
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
long long N, K;
unsigned long long T;
long long j;
int main(){
fin >>N>>K;
for(int i = 1; i <= N; i++){
T += i;
if(T >= K){
j = i;
break;
}
}
unsigned long long r = (j *(j + 1))/2 - K;
for(int i = 1; i <= N - j - 1; i++)
fout << i <<" " ;
int t = N - r;
fout <<t <<" ";
for(int i = N; i >= N - j; --i)
if(i!=t)
fout << i <<" ";
return 0;
}