Pagini recente » Cod sursa (job #2626955) | Cod sursa (job #1476707) | Cod sursa (job #1690663) | Cod sursa (job #1620222) | Cod sursa (job #541382)
Cod sursa(job #541382)
// 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,invers;
int i,k;
unsigned long long 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);
}