Pagini recente » Cod sursa (job #290036) | Cod sursa (job #518627) | Cod sursa (job #2793813) | Cod sursa (job #1088646) | Cod sursa (job #541383)
Cod sursa(job #541383)
// http://infoarena.ro/problema/farfurii
#include <fstream>
using namespace std;
#define maxSize 100002
ifstream in("farfurii.in");
ofstream out("farfurii.out");
bool used[maxSize];
int number[maxSize];
int main() {
int length;
int i,k;
unsigned long long invers,nrInvers;
in >> length >> invers;
for(i=1;i<=length;i++) {
nrInvers = (length - i) * (length - i - 1) / 2;
if(nrInvers < invers) {
number[i] = i + invers - nrInvers;
used[i + invers - nrInvers] = true;
break;
}
else {
number[i] = i;
used[i] = true;
}
}
k = i;
for(int i=length;i>=1;i--)
if(!used[i])
number[++k] = i;
for(int i=1;i<=length;i++)
out << number[i] << " ";
in.close();
out.close();
return (0);
}