11849 CD ---Why RTE Please help me, please.

All about problems in Volume CXVIII. If there is a thread about your problem, please use it. If not, create one with its number in the subject.

Moderator: Board moderators

11849 CD ---Why RTE Please help me, please.

Postby opo » Wed Dec 14, 2011 3:54 pm

Here is my Code.
Code: Select all
/*Removed Code */
Last edited by opo on Fri Jan 13, 2012 7:03 am, edited 1 time in total.
opo
New poster
 
Posts: 2
Joined: Tue Dec 13, 2011 8:51 am

Re: 11849 CD ---Why WA Please help me, please.

Postby uvasarker » Fri Jan 13, 2012 6:39 am

I am getting WA in 11849 - CD
Please, give me some critical test cases so that I would get rid of this problem. Please
Here, is my code
Code: Select all
#include <cstdio>
#include <vector>
#include <iostream>
using namespace std;

int main()
{
   long long n,m;
   while(scanf("%lld %lld",&n,&m)==2)
   {
       vector <long long> jak, jill;
      if(n==0 && m==0) break;
      long long JA, JI;
      
      for(long long i=0 ; i<n ; i++)
      {
         scanf("%lld",&JA);
         jak.push_back(JA);
      }

      for(long long i=0 ; i<m ; i++)
      {
         scanf("%lld",&JI);
         jill.push_back(JI);
      }
      long long temp=0,sell=0;
      
      if(m>n)
      {
            for(long long i=0 ; i<jill.size() ; i++)
            {
                  temp=jill[i];
                  for(long long j=0 ; j<jak.size() ; j++)
                  {
                        if(jak[j]==temp)
                        {
                              sell++;
                        }
                        else if(temp>jak[j]) break;
                  }
                  if(jill[i]>jak[n-1])  break;
            }
      }
      else
      {            
            for(long long i=0 ; i<jak.size() ; i++)
            {
                  temp=jak[i];
                  for(long long j=0 ; j<jill.size() ; j++)
                  {
                        if(jill[j]==temp)
                        {
                              sell++;
                        }
                        else if(temp>jill[j]) break;
                  }
                  if(jak[i]>jill[m-1])  break;
            }
      }
      
      printf("%lld\n",sell);
   }
   return 0;   
}

uvasarker
Learning poster
 
Posts: 96
Joined: Tue Jul 19, 2011 12:19 pm
Location: Dhaka, Bangladesh

Re: 11849 CD ---Why RTE Please help me, please.

Postby brianfry713 » Sat Jan 14, 2012 1:49 am

Try the sample input.
brianfry713
Guru
 
Posts: 1742
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 11849 CD ---Why RTE Please help me, please.

Postby uvasarker » Thu Jan 19, 2012 7:54 pm

Hi brother,
Now, I got TLE
Here is my code:
Code: Select all
    #include <cstdio>
    #include <vector>
    #include <iostream>
    using namespace std;

    int main()
    {
       long long n,m;
       while(scanf("%lld %lld",&n,&m)==2)
       {
           vector <long long> jak, jill;
          if(n==0 && m==0) break;
          long long JA, JI;
         
          for(long long i=0 ; i<n ; i++)
          {
             scanf("%lld",&JA);
             jak.push_back(JA);
          }

          for(long long i=0 ; i<m ; i++)
          {
             scanf("%lld",&JI);
             jill.push_back(JI);
          }
          long long sjak=jak.size(), sjil=jill.size();
          long long temp=0,sell=0;
         
          if(m>n)
          {
                for(long long i=0 ; i<sjil ; i++)
                {
                      temp=jill[i];
                      for(long long j=0 ; j<sjak ; j++)
                      {
                            if(jak[j]==temp)
                            {
                                  sell++;
                            }
                            else if(jak[j]>temp) break;
                      }
                      if(jill[i]>jak[n-1])  break;
                }
          }
          else
          {           
                for(long long i=0 ; i<jak.size() ; i++)
                {
                      temp=jak[i];
                      for(long long j=0 ; j<jill.size() ; j++)
                      {
                            if(jill[j]==temp)
                            {
                                  sell++;
                            }
                            else if(jill[j]>temp) break;
                      }
                      if(jak[i]>jill[m-1])  break;
                }
          }
         
          printf("%lld\n",sell);
       }
       return 0;   
    }


uvasarker
Learning poster
 
Posts: 96
Joined: Tue Jul 19, 2011 12:19 pm
Location: Dhaka, Bangladesh

Re: 11849 CD ---Why RTE Please help me, please.

Postby brianfry713 » Wed Jan 25, 2012 1:46 am

You're searching the entire Jack array for every CD Jill has. Speed it up by taking advantage of the fact that the inputs are already sorted.
brianfry713
Guru
 
Posts: 1742
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 11849 CD ---Why RTE Please help me, please.

Postby uvasarker » Sat Jan 28, 2012 7:26 pm

Hi,
Brother
Thanks a lots.
Thanks a lots.
Thanks a lots.
Finally I got it ACCCCCCCCCCCC.
uvasarker
Learning poster
 
Posts: 96
Joined: Tue Jul 19, 2011 12:19 pm
Location: Dhaka, Bangladesh

Re: 11849 CD ---Why RTE Please help me, please.

Postby Achilies_Saiful_Buet » Thu May 03, 2012 10:31 pm

plz help me understanding this.this code below is getting TLE
Code: Select all
#include<iostream>
#include<cstdio>
#include<map>

using namespace std;
int main()
{
    //freopen("11849in.txt","r",stdin);
    long long int n,m,i,j,count;
     int x;
    map<long int,int>mp;

    while(cin>>n>>m && !(n==0 && m==0))
    {
        mp.clear();
        count=0;
        for(i=0;i<n;i++){cin>>x;mp[x]=1;}
        for(i=0;i<m;i++){cin>>x;if(mp[x]==1)count++;}
        cout<<count<<endl;
    }

}

but this is not--
Code: Select all

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cstdlib>
#include <cctype>
#include <cmath>
#include <vector>
#include <stack>
#include <string>
#include <list>
#include <map>
#include <queue>
#include <sstream>
#define pb push_back
#define MAX 1000000
using namespace std;
int main()
{ long long int n,m;
while(scanf("%lld %lld",&n,&m)&& (n ||m))
{ int a,val=0;
map <int,int> check;
for(long long int i=1;i<=n;i++)
{
scanf("%d",&a);
check[a]=1;
}
for(long long int i=1;i<=m;i++)
{
scanf("%d",&a);
if(check[a]==1)
val++;

}
cout<<val<<endl;
}

return 0;
}
why???
Achilies_Saiful_Buet
New poster
 
Posts: 16
Joined: Wed Mar 28, 2012 7:24 pm
Location: Dhaka,Bangladesh

Re: 11849 CD ---Why RTE Please help me, please.

Postby brianfry713 » Fri May 04, 2012 9:17 pm

scanf is faster than cin.
brianfry713
Guru
 
Posts: 1742
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 11849 CD ---Why RTE Please help me, please.

Postby Evan72 » Sat Jun 16, 2012 12:59 pm

Code: Select all
#include<stdio.h>
removed after AC
Last edited by Evan72 on Mon Jul 02, 2012 11:54 pm, edited 1 time in total.
Evan72
New poster
 
Posts: 11
Joined: Sat Apr 28, 2012 2:01 pm

Re: 11849 CD ---Why RTE Please help me, please.

Postby brianfry713 » Tue Jun 19, 2012 12:04 am

Each catalog number is a positive integer no greater than one billion.
brianfry713
Guru
 
Posts: 1742
Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA

Re: 11849 CD ---Why RTE Please help me, please.

Postby Evan72 » Mon Jul 02, 2012 11:52 pm

brianfry713 wrote:Each catalog number is a positive integer no greater than one billion.
Thank you :)
Evan72
New poster
 
Posts: 11
Joined: Sat Apr 28, 2012 2:01 pm


Return to Volume CXVIII

Who is online

Users browsing this forum: No registered users and 1 guest