Cod sursa(job #1151625)

Utilizator corina.ioanaSerbanescu Corina corina.ioana Data 24 martie 2014 11:34:02
Problema Order Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
using namespace std;
int i,k,j,m,n,a[30003],z,i2,i1,n1,n2,z1;
bool ok;
int main()
{
    freopen("order.in","r",stdin);
    freopen("order.out","w",stdout);
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    a[i]=i;
    i=1;n1=1;n2=n;
    while(k<n)
    {
        k++;
        z=0;
        i1=i;
        i2=i;
        z1=0;
        ok=false;
        while(a[n1]==-1 && k>3)
        n1++;
        while(a[n2]==-1 && k>3)
        n2--;
        while(!ok)
        {
            z++;
            if(i2+z>n2) {i2=n1;z=0;}
            if(a[i2+z]!=-1) z1++;
            if(z1==k) {printf("%d ",a[i2+z]);i=i2+z;a[i2+z]=-1;ok=true;}
        }
    }
    for(i=1; i<=n; i++)
    if(a[i]!=-1) printf("%d ",a[i]);
    return 0;
}