Cod sursa(job #621974)
Utilizator | Data | 17 octombrie 2011 00:23:23 | |
---|---|---|---|
Problema | Farfurii | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<stdio.h>
#define MaxN 100100
#define ll unsigned long long
ll N,NRI = 0,NRS,M,A[MaxN],i=0;
int main()
{
FILE *f = fopen("farfurii.in","r");
FILE *g = fopen("farfurii.out","w");
fscanf(f,"%d %d",&N,&M);
NRS = N+1;
while(++i<=N)
if((ll)(N-i)*(ll)(N-i-1)/(ll)2 < (ll)M)
{
A[--NRS] = i;
M -= N-i;
}
else
A[++NRI] = i;
i = 0;
while(++i<=N)
fprintf(g,"%d ",A[i]);
fclose(g);
fclose(f);
return 0;
}