Cod sursa(job #2137092)
| Utilizator | Data | 20 februarie 2018 16:37:53 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <cstdio>
#include <bitset>
#define MAXN 100001
using namespace std;
bitset <MAXN> viz;
int main()
{
FILE *fin,*fout;
fin=fopen("farfurii.in","r");
fout=fopen("farfurii.out","w");
long long n,k;
int i=1,el;
fscanf(fin,"%lld%lld",&n,&k);
while((n-i)*(n-i-1)/2>=k)
{
fprintf(fout,"%d ",i);
viz[i]=1;i++;
}
el=k+i-(n-i)*(n-i-1)/2;
fprintf(fout,"%d ",el);viz[el]=1;el=n;
for(;i<n;i++)
{
while(viz[el])
el--;
fprintf(fout,"%d ",el);
viz[el]=1;
}
fclose(fin);
fclose(fout);
return 0;
}
