Pagini recente » Rating Tudor Diaconu (ridiche) | Cod sursa (job #1035265) | Cod sursa (job #233044) | Cod sursa (job #82940) | Cod sursa (job #1001753)
#include<stdio.h>
#include<vector>
using namespace std;
vector<int> a;
int n, m;
int main(){
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
scanf("%d %d", &n, &m);
int Sum;
for(Sum = 1; Sum * (Sum + 1) / 2 <= m; ++ Sum);
-- Sum;
m -= (Sum * (Sum + 1)) / 2;
if(m > 0){
for(int i = 1; i <= n - Sum - 2; ++ i)
a.push_back(i);
a.push_back(n - Sum + 1);
for(int i = n; i >= n - Sum - 1; -- i)
if(i != n - Sum + 1)
a.push_back(i);
}
else{
for(int i = 1; i < n - Sum; ++ i)
a.push_back(i);
for(int i = n; i >= n - Sum; -- i)
a.push_back(i);
}
for(int i = 0; i < a.size(); ++ i)
printf("%d ", a[i]);
return 0;
}