Pagini recente » Cod sursa (job #1079686) | Cod sursa (job #525744) | Cod sursa (job #2842808) | Cod sursa (job #1309112) | Cod sursa (job #1892043)
#include <cstdio>
#include <fstream>
using namespace std;
int n,k;
int caut(int st,int dr,int n)
{
if(st==dr)
return st;
else
{
int p=(st+dr)/2;
if(p*(p-1)/2==n)
return p;
else
if(p*(p-1)/2<n)
return caut(p+1,dr,n);
else
return caut(st,p,n);
}
}
int main()
{
FILE *f,*g;
f=fopen("farfurii.in","r");
g=fopen("farfurii.out","w");
fscanf(f,"%d%d",&n,&k);
int i,j=caut(1,n,k),x=n-j+1,y;
for(int i=1;i<x;i++)
fprintf(g,"%d ",i);
y=x+(j*(j-1)/2-k);
fprintf(g,"%d ",y);
for(int i=n;i>=x;i--)
if(i!=y)
fprintf(g,"%d ",i);
fclose(f);
fclose(g);
return 0;
}