Wednesday 23 September 2015

UVA 12150 Pole Position (UVALive 4216, SPOJ SAMER08G, Regionals 2008 >> Latin America - South America)

///     Raihan Ruhin
///     CSE, Jahangirnagar University.
///     Dhaka-Bangladesh.
///     id: raihanruhin (topcoder / codeforces / codechef / uva / uvalive / spoj), 3235 (lightoj)
///     mail: raihanruhin@ (yahoo / gmail / facebook)
///     blog: ruhinraihan.blogspot.com

#include<bits/stdc++.h>
using namespace std;

#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)

#define MOD 1000000007
#define MX 100010


int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    int tc, kk=1, n, car, pos, initial[1005];
    string s;
    char ch;

    while(cin>>n && n)
    {
        SET(initial);
        bool valid=true;
        for(int i=0;i<n;i++)
        {
            cin>>car>>pos;
            if(i+pos<0 || i+pos>=n) valid=false;
            else initial[i+pos]=car;
        }
        for(int i=0;i<n;i++)
            if(initial[i]==-1) valid=false;
        if(valid)
        {
            cout<<initial[0];
            for(int i=1;i<n;i++)
                cout<<" "<<initial[i];
        }
        else cout<<"-1";
        cout<<"\n";
    }
return 0;
}

No comments:

Post a Comment