Cod sursa(job #1498318)
| Utilizator | Data | 8 octombrie 2015 13:48:40 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream fin("farfurii.in");
ofstream fout("farfurii.out");
int n, ct=1, gg, r;
long long k, v[100010];
bool h[100010];
int main(){
fin>>n>>k;
for(int i=2;i<=n;++i) v[i]=v[i-1]+i-1;
for(int i=1;i<=n;++i){
while(h[ct]) ct++;
gg=ct;
r=0;
while(v[n-i]+r<k) r++;
k-=r;
while(r){
while(h[gg]) gg++;
gg++;
r--;
}
while(h[gg]) gg++;
h[gg]=1;
fout<<gg<<' ';
}
return 0;
}
