Cod sursa(job #2942140)

Utilizator _andrei4567Stan Andrei _andrei4567 Data 19 noiembrie 2022 00:01:59
Problema Farfurii Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>

using namespace std;

ifstream cin ("farfurii.in");
ofstream cout ("farfurii.out");

const int N = 1e5;
bool viz[N + 1];

int n, m;

int main()
{
    cin >> n >> m;
    for (int i = 1; i <= n; ++i)
    {
        int ramase = n - i + 1;
        if (ramase * (ramase - 1) / 2 >= m && (ramase - 1) * (ramase - 2) / 2 < m)
        {
            int dif = ramase * (ramase - 1) / 2 - m;
            if (dif)
            {
                cout << n - dif << ' ';
                viz[n - dif] = 1;
                break;
            }
        }
        else
            cout << i << ' ', viz[i] = 1;
    }
    for (int i = n; i >= 1; --i)
        if (!viz[i])
            cout << i << ' ';
    return 0;
}