Cod sursa(job #2569886)

Utilizator Alex2421Nedelcu Alexandru Alex2421 Data 4 martie 2020 14:05:48
Problema Farfurii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

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

int const lim = 100001;
int n,k,v[lim],a=1,r,p1,p2;

int main()
{
    in>>n>>k;
    p2=n;
    for(int i=a;i<=n;i++)
    {
        int s=n-i;
        if(s*(s-1)/2>=k) v[i]=i;
        else {a=i;
        break;}
    }
    p1=a;


    while(r!=k)
    {
        if(r+n-a<=k)
        {
         v[p2]=a;
         p2--;
         r=r+n-a;
         a++;
         if(p2==p1) v[p1]=n;
        }
        else
        {
         v[p1]=a;
         p1++;
         a++;
        }
    }

    for(int i=1;i<=n;i++)
        out<<v[i]<<" ";
}