Cod sursa(job #3302939)

Utilizator Tudor_CCTudor Cocu Tudor_CC Data 12 iulie 2025 11:08:13
Problema Farfurii Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <bits/stdc++.h>

using namespace std;

int s[100005]; /// mai mici deja puse

set <int> v;

int n;

void up(int k)
{
    int i=k;
    while(i<=n)
    {
        s[i]++;
        i+=i&(-i);
    }
}

int sm(int k)
{
    int i=k,sum=0;
    while(i>=1)
    {
        sum+=s[i];
        i-=i&(-i);
    }
    return sum;
}

int main()
{
    ifstream cin("farfurii.in");
    ofstream cout("farfurii.out");
    int m,x,in=1;
    cin>>n>>m;
    for(int i=1;i<=n;++i)
    {
        v.insert(i);
    }
    for(int i=1;i<=n;++i)
    {
        ++in;
        int c1=0,c2=0,c3=0,q;
        for(auto a:v)
        {
            c1=0;
            q=n-in;
            c3=q*(q+1)/2;
            if(i==4 && a==7)
            {
               // cout<<c1<<" "<<c2<<" "<<c3<<" ";
            }
            if((c1+c2+c3)>=m)
            {
                cout<<a<<" ";
                up(a);
               // m-=c1;
                m-=c2;
                v.erase(a);
                break;
            }
            c2++;
        }
    }
    return 0;
}