Hi
I am getting a wrong answer verdict but I don't know why. I read the 
analysis and my code, as far as I understood, uses the same logic.
Here's my code:

#include "bits/stdc++.h"

using namespace std;

vector <int> ind;

int search(vector<pair<int,int>> v, int l, int r, int key)
{
  for(int i=l;i<=r;i++)
  {
    if(v[i].first==key)
        return i;
  }
}

int main()
{
  int tt;
  scanf("%d",&tt);
  for(int pp=0 ; pp < tt; pp++)
  {
    int n;
    scanf("%d",&n);
    vector <pair<int,int>> tsk;
    vector <pair<int,int>> tsk2;
    vector <pair<int,int>> temp;
    vector <char> s(n,'0');
    vector <char> ans(n,'0');

    for(int i=0;i<n;i++)
    {
      int r,e;
      scanf("%d",&r);
      scanf("%d",&e);
      tsk.push_back( make_pair(e,r));
      temp.push_back( make_pair(e,r));
    }

    sort(tsk.begin(),tsk.end());
    vector <int> sortind(n);

    for(int i=0;i<n;i++)
    {
      sortind[i]=search(temp,0,n-1,tsk[i].first);
      temp[sortind[i]].first = -1;
    }
    for(int i=0;i<n;i++)
    {
      int start = tsk[i].second;
      int end = tsk[i].first;
      s[i]='C';
      for(int j=i+1;j<n;j++)
      {
        if(tsk[j].second>=end )
        {
          s[j]='C';
          start = tsk[j].second;
          end = tsk[j].first;
        }
      }
      break;
    }
    vector <int> v;
    for(int i=0;i<n;i++)
    {
      if(s[i]=='0')
        v.push_back(i);
    }

    int len = v.size();
    for(int i=0; i<len;i++)
    {
      int start = tsk[v[i]].second;
      int end = tsk[v[i]].first;
      s[v[i]]='J';
      for(int j=i+1;j<len;j++)
      {
        if(tsk[v[j]].second>=end )
        {
          s[v[j]]='J';
          start = tsk[v[j]].second;
          end = tsk[v[j]].first;
        }
      }
      break;
    }
    int flag=0;
    for(int i=0;i<n;i++)
    {
      ans[sortind[i]]=s[i];
    }

    for(int i=0;i<n;i++)
    {
      if(ans[i]=='0')
        {
          flag++;
          break;
        }
    }
    if(flag>0)
      printf("Case #%d: IMPOSSIBLE",pp+1);
    else
      {
        printf("Case #%d: ", pp+1);
        for(int i=0;i<n;i++)
            cout<<ans[i];
      }
      printf("\n");
  }

  return 0;
}

If possible, any valid test case where my code makes a mistake is 
appreciated.
Regards

-- 
You received this message because you are subscribed to the Google Groups 
"Google Code Jam" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-code/d51a8215-30dd-490c-8fb7-11e68993ee81%40googlegroups.com.

Reply via email to