Cod sursa(job #1627848)

Utilizator SirbuSirbu Ioan Sirbu Data 3 martie 2016 18:56:52
Problema Farfurii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("farfurii.in");
ofstream fout ("farfurii.out");
int main()
{
    int n;
    long long k;
    long long sol1;
    long long sol2;
    long long sol3;
    long long poz;
    fin >> n >> k;
    sol1=n;
    for (long long i=1;i<=n;i++){
        if ((i*(i-1))/2 >k){
           sol1=i-1;
           break;
        }
    }
    poz=n-sol1+1;
    for (int i=1;i<=poz-2;i++) fout << i << " ";
    sol2=k-(sol1*(sol1-1)/2)+(poz-1);
    if (sol1==n) fout << n << " ";
    else fout << sol2 << " " << n << " ";
    sol3=n-1;
    for (int i=poz+1;i<=n;i++){
        if (sol3==sol2) sol3--;
        fout << sol3 << " ";
        sol3--;
    }


    return 0;
}