Cod sursa(job #1038956)
Utilizator | stefana gal ephg | Data | 22 noiembrie 2013 12:04:02 |
---|---|---|---|
Problema | Farfurii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.65 kb |
#include<fstream>
#include<iostream>
using namespace std;
#define BM 100005
long long n,k,sol[BM],r;
int fol[BM],da[BM],dim,t;
int main (){
int i,j;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
f>>n>>k;
r=n*(n-1)/2;
j=1;
for(i=1;i<=n;++i){
for(;j<=n;++j)if(!fol[j]&&r-(n-j)>=k){
sol[i]=j;
fol[j]=1;
r-=(n-j);
break;
}
}
for(i=1;i<=n;++i)if(sol[i]==0){
t=i-1;
break;
}
for(i=n;i;--i)if(fol[i]==0)da[++dim]=i;
for(i=1;i<=t;++i)g<<sol[i]<<' ';
for(i=1;i<=dim;++i)g<<da[i]<<' ';
return 0;
}