Cod sursa(job #1322751)
| Utilizator | Data | 20 ianuarie 2015 12:57:23 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
deque<int> d;
int n , k;
int v[100005];
int main()
{
f >> n >> k;
int *v = new int[n+5];
for(int i=1;i<=n;++i) d.push_back(i);
int a;
for(int i=1;i<=n;++i){
if( k <= (n-i)*(n-i-1)/2 ){
v[i] = d.front();
d.pop_front();
}
else{
v[i]= d[ k - (n-i)*(n-i-1)/2 ];
d.erase( d.begin() +k - (n-i)*(n-i-1)/2 );
}
}
for(int i=1;i<=n;++i) g << v[i]<<" ";
return 0;
}
