Cod sursa(job #2314676)
| Utilizator | Data | 8 ianuarie 2019 22:21:37 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
const int N = 100005;
long long n, k, v[N];
int main()
{
f >> n >> k;
long long pos = 1;
long long i = 1, j;
while(i * (i + 1) / 2 < k)
++ i;
pos = i;
for(i = 1; i <= n - pos - 1; ++i)
v[i] = i;
long long x = n - ((pos * (pos + 1)) / 2) + k;
v[n - pos] = x;
for(i = n, j = n - pos + 1; i > n - pos; --i, ++ j)
v[j] = i;
for(i = 1; i <= n; i ++)
g << v[i] << ' ';
return 0;
}
