Pagini recente » Cod sursa (job #2015072) | Cod sursa (job #1888200) | Cod sursa (job #1398533) | Cod sursa (job #1264825) | Cod sursa (job #3150820)
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
const int nmax = 100005;
int n, k;
int a[nmax];
int main(){
f >> n >> k;
for(int i = 1; i <= n; i++){
a[i] = i;
}
int m = 0;
for(int i = 1; i <= n; i++){
if(i * (i - 1) / 2 <= k){
m = i;
}
}
if(m * (m - 1) / 2 == k){
for(int i = n - m + 1; i <= n; i++){
int aux = a[i];
a[i] = a[i + m - 1];
a[i + m - 1] = aux;
}
}
else{
int val = n - ((m + 1) * m / 2 - k);
for(int i = n - m; i <= n; i++){
int aux = a[i];
a[i] = a[i + m];
a[i + m] = aux;
}
int aux1 = a[n - m - 1];
a[n - m - 1] = a[val];
a[val] = aux1;
}
for(int i = 1; i <= n; i++){
g << a[i] << ' ' ;
}
}