Cod sursa(job #2487050)

Utilizator stefan1anubystefan popa stefan1anuby Data 3 noiembrie 2019 20:21:09
Problema Order Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.17 kb
#include <fstream>

using namespace std;
ifstream cin("order.in");
ofstream cout("order.out");
#define zeros(x) (x^(x-1))&x
int aib[100005],n;
void Update(int q, int p)
{
    int i;
    for(i=p; i<=n; i+=zeros(i))
        aib[i]+=q;
}
int Sum(int p)
{
    int i,sum=0;
    for(i=p; i>0; i-=zeros(i))
        sum+=aib[i];
    return sum;
}
void afis_aib()
{
    int i;
    cout<<endl;
    for(i=1; i<=n; i++)
        cout<<aib[i]<<" ";
    cout<<endl;
}
int v[30005];
int main()
{
    /// pelim = al catalea 0 din secv care trebuie eliminat
    int i,pstart=1,pelim,len,zero,j;
    cin>>n;
    len=n;
    for(i=1; i<=n; i++)
    {
        pelim=(pstart+i)%len;
        if(pelim==0) pelim=1;
        zero=0;
        for(j=1; j<=n; j++)
        {
            if(v[j]==0)
            {
                zero++;
            }
            if(zero==pelim)
            {
                v[j]=1;
                cout<<j<<" ";
                if(pelim==1) pstart=len-1;
                else pstart=pelim-1;
                zero=0;
                break;
            }
        }
        len--;
    }
    return 0;
}
/*
6
0 0 1 0 1 1
1 2 3 4 5 6
*/