I am trying really hard to get this one fixed,still cant find any problem......:-(
On Sun, Jun 12, 2011 at 1:45 PM, nicks <crazy.logic.k...@gmail.com> wrote: > forgot to attach the code...here is the modified code.. > > #include<vector> > #include<iostream> > #include<algorithm> > #include<cstdio> > #include<cmath> > > using namespace std; > > int main() > { > int num,ans=0,value,i,j,k,t,a,b,c,d,e,f; > scanf("%d",&num); > vector<int> val,a1,a2; > for(i=0;i<num;i++) > { > scanf("%d",&t); > val.push_back(t); > } > for(i=0;i<num;i++) > { > a=val[i]; > for(j=0;j<num;j++) > { > b=val[j]; > for(k=0;k<num;k++) > { > c=val[k]; > t=a*b+c; > a1.push_back(t); > } > } > } > for(i=0;i<num;i++) > { > d=val[i]; > for(j=0;j<num;j++) > { > e=val[j]; > for(k=0;k<num;k++) > { > f=val[k]; > t=(f+e)*d; > a2.push_back(t); > } > } > } > > sort(a2.begin(),a2.end()); > vector<int>::iterator itr; > for(itr=a1.begin();itr!=a1.end();itr++) > { > value=*itr; > //ans+=count(a2.begin(),a2.end(),value); > > > ans+=upper_bound(a2.begin(),a2.end(),value)-lower_bound(a2.begin(),a2.end(),value); > } > > printf("%d",ans); > return 0; > } > > > > > > > On Sun, Jun 12, 2011 at 1:07 AM, nicks <crazy.logic.k...@gmail.com> wrote: > >> @keyan..your advice was really very helpful...the time limit has come >> under control ...1.4s but now i am getting WA though my code is giving right >> ans for the test cases...can you plz help me in figuring out where it fails >> .. >> >> >> On Sun, Jun 12, 2011 at 12:59 AM, keyan karthi <keyankarthi1...@gmail.com >> > wrote: >> >>> >>> hint: u ve commented some vital part of ur code ;) >>> >>> On Sun, Jun 12, 2011 at 12:46 PM, saurabh singh <saurab...@gmail.com>wrote: >>> >>>> >>>> I did used the library functions but I am getting sigsegv after 0.03 s.I >>>> cant understand why?I am presuming sumthing wrong about the implemenatation >>>> of bsearch? >>>> I am assuming bsearch is returning a pointer to the first found element. >>>> >>>> >>>> On Sun, Jun 12, 2011 at 12:41 PM, keyan karthi < >>>> keyankarthi1...@gmail.com> wrote: >>>> >>>>> upper_bound and lower_bound does a binary search to get count of alike >>>>> terms.. which u tend to sum of to get the ans.. >>>>> out of the two arrays, u need to sort one array.. this will be teh >>>>> vector in which u do the binary search wit every element of un sorted >>>>> array.. >>>>> this is the approach i used... :) hope this helps... >>>>> >>>>> the above functions defined in "algorithm" >>>>> >>>>> >>>>> On Sun, Jun 12, 2011 at 12:34 PM, nicks <crazy.logic.k...@gmail.com>wrote: >>>>> >>>>>> and here is my code I'm Getting TLE.... i tried to implement binary >>>>>> search but failed bcoz how will i be able to trace the value from one >>>>>> vector >>>>>> into another vector if there are any multiple occureneces of any value(i >>>>>> mean i have count them).....in this code i i have used count of algorithm >>>>>> which may be expensive...suggest a better way plz...thnx in advance !! >>>>>> >>>>>> >>>>>> >>>>>> #include<vector> >>>>>> #include<iostream> >>>>>> #include<algorithm> >>>>>> #include<cstdio> >>>>>> #include<cmath> >>>>>> using namespace std; >>>>>> int main() >>>>>> { >>>>>> int num,ans=0,value,i,j,k,t,a,b,c,d,e,f; >>>>>> scanf("%d",&num); >>>>>> vector<int> val,a1,a2; >>>>>> for(i=0;i<num;i++) >>>>>> { >>>>>> scanf("%d",&t); >>>>>> val.push_back(t); >>>>>> } >>>>>> for(i=0;i<num;i++) >>>>>> { >>>>>> a=val[i]; >>>>>> for(j=0;j<num;j++) >>>>>> { >>>>>> b=val[j]; >>>>>> for(k=0;k<num;k++) >>>>>> { >>>>>> c=val[k]; >>>>>> t=a*b+c; >>>>>> a1.push_back(t); >>>>>> } >>>>>> } >>>>>> } >>>>>> for(i=0;i<num;i++) >>>>>> { >>>>>> d=val[i]; >>>>>> for(j=0;j<num;j++) >>>>>> { >>>>>> e=val[j]; >>>>>> for(k=0;k<num;k++) >>>>>> { >>>>>> f=val[k]; >>>>>> t=(f+e)*d; >>>>>> a2.push_back(t); >>>>>> } >>>>>> } >>>>>> } >>>>>> >>>>>> vector<int>::iterator itr; >>>>>> for(itr=a1.begin();itr!=a1.end();itr++) >>>>>> { >>>>>> value=*itr; >>>>>> ans+=count(a2.begin(),a2.end(),value); >>>>>> } >>>>>> >>>>>> printf("%d\n",ans); >>>>>> return 0; >>>>>> } >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Sat, Jun 11, 2011 at 11:57 PM, saurabh singh < >>>>>> saurab...@gmail.com> wrote: >>>>>> >>>>>>> >>>>>>> OK here is my code >>>>>>> #include<stdio.h> >>>>>>> #include<algorithm> >>>>>>> #include<utility> >>>>>>> using namespace std; >>>>>>> int compareints (const void * a, const void * b) >>>>>>> { >>>>>>> return ( *(long*)a - *(long*)b ); >>>>>>> } >>>>>>> >>>>>>> >>>>>>> int main() >>>>>>> { >>>>>>> int n,s[101],a,b,c,d,e,f; >>>>>>> long p1[100009],p2[100009]; >>>>>>> int i,j,k; >>>>>>> scanf("%d",&n); >>>>>>> for(i=0;i<n;i++) scanf("%d",&s[i]); >>>>>>> //sort(s,s+i); >>>>>>> k=0; >>>>>>> for(i=0;i<n;i++) >>>>>>> { >>>>>>> for(j=0;j<n;j++) >>>>>>> { >>>>>>> for(int l=0;l<n;l++) >>>>>>> { >>>>>>> if(s[l]) >>>>>>> p1[k++]=(s[i]+s[j])*s[l]; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> //sort(p1,p1+k); >>>>>>> int x=0; >>>>>>> for(i=0;i<n;i++) >>>>>>> { >>>>>>> for(j=0;j<n;j++) >>>>>>> { >>>>>>> for(int l=0;l<n;l++) >>>>>>> { >>>>>>> //if(s[l]!=0) >>>>>>> p2[x++]=(s[i]*s[j])+s[l]; >>>>>>> } >>>>>>> } >>>>>>> } >>>>>>> sort(p2,p2+x); >>>>>>> long *pItem; >>>>>>> long count=0; >>>>>>> for(i=0;i<k;i++) >>>>>>> { >>>>>>> pItem = (long*) bsearch (&p1[i], p2, x, sizeof (long), >>>>>>> compareints); >>>>>>> if(pItem){ >>>>>>> >>>>>>> long *tmp=pItem; >>>>>>> if(pItem==p2)while(*(tmp)==p1[i]&&tmp<p2+x){ >>>>>>> count++;tmp++;} >>>>>>> else >>>>>>> if(pItem==(p2+(x-1))) { >>>>>>> while(pItem>=p2&&*(pItem)==p1[i]){count++;pItem--;}} >>>>>>> else{ >>>>>>> tmp++; >>>>>>> while(*(tmp)==p1[i]&&tmp<p2+x){ >>>>>>> count++;tmp++;} >>>>>>> >>>>>>> while(pItem>=p2&&*(pItem)==p1[i]){count++;pItem--;} >>>>>>> } >>>>>>> //count++; >>>>>>> } >>>>>>> } >>>>>>> printf("%ld\n",count); >>>>>>> >>>>>>> //for(i=0;i<k;i++) printf("%ld ",p1[i]);printf("\n"); >>>>>>> //for(i=0;i<x;i++) printf("%ld ",p2[i]);printf("\n"); >>>>>>> return 0; >>>>>>> } >>>>>>> >>>>>>> >>>>>>> Why is it getting segmentation fault? >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Algorithm Geeks" group. >>>>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>>>> To unsubscribe from this group, send email to >>>>>>> algogeeks+unsubscr...@googlegroups.com. >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Algorithm Geeks" group. >>>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>>>>> algogeeks+unsubscr...@googlegroups.com. >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Algorithm Geeks" group. >>>>> To post to this group, send email to algogeeks@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> algogeeks+unsubscr...@googlegroups.com. >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/algogeeks?hl=en. >>>>> >>>> >>>> >>>> >>>> -- >>>> Saurabh Singh >>>> B.Tech (Computer Science) >>>> MNNIT ALLAHABAD >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Algorithm Geeks" group. >>>> To post to this group, send email to algogeeks@googlegroups.com. >>>> To unsubscribe from this group, send email to >>>> algogeeks+unsubscr...@googlegroups.com. >>>> For more options, visit this group at >>>> http://groups.google.com/group/algogeeks?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Algorithm Geeks" group. >>> To post to this group, send email to algogeeks@googlegroups.com. >>> To unsubscribe from this group, send email to >>> algogeeks+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/algogeeks?hl=en. >>> >> >> > -- > You received this message because you are subscribed to the Google Groups > "Algorithm Geeks" group. > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to > algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- Saurabh Singh B.Tech (Computer Science) MNNIT ALLAHABAD -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.