fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct seq{
  5. long long int n;
  6. vector<long long int> s;
  7. long long int sum;
  8. };
  9.  
  10. int main(){
  11. ios_base::sync_with_stdio(false);
  12. cin.tie(NULL);
  13. long long int k;
  14. cin>>k;
  15.  
  16. seq in[k];
  17. long long int x;
  18.  
  19. for(long long int i=0;i<k;i++){
  20. cin>>x;
  21. (in[i].n)=x;
  22. (in[i]).sum=0;
  23. for(long long int j=0;j < (in[i].n);j++){
  24. cin>>x;
  25. ((in[i]).s).push_back(x);
  26. ((in[i]).sum)+=x;
  27. }
  28. }
  29.  
  30. vector<long long int> dp[k];
  31. vector<long long int> sdp[k];
  32.  
  33. for(long long int i=0;i<k;i++){
  34. for(long long int j=0;j < (in[i].n) ;j++){
  35. (dp[i]).push_back( (in[i].sum) - ((in[i].s)[j]) );
  36. (sdp[i]).push_back( (in[i].sum) - ((in[i].s)[j]) );
  37. }
  38. sort((sdp[i]).begin(),(sdp[i]).end());
  39. }
  40.  
  41.  
  42. long long int found=0;
  43. long long int si,di,sj,dj;
  44.  
  45.  
  46. for(long long int i=0;i<k-1;i++){
  47. for(long long int j=i+1;j<k;j++){
  48. vector<long long int> v( max((in[i]).n , (in[j]).n) );
  49. vector<long long int>::iterator it;
  50. it=set_intersection((sdp[i]).begin() , (sdp[i]).end() , (sdp[j]).begin() , (sdp[j]).end() , v.begin() );
  51. if(it-v.begin() > 0) {
  52. si=i+1;
  53. sj=j+1;
  54. di= find(dp[i].begin(),dp[i].end(),*(v.begin())) - dp[i].begin() + 1;
  55. dj= find(dp[j].begin(),dp[j].end(),*(v.begin())) - dp[j].begin() + 1;
  56. found=1;
  57. break;
  58. }
  59. }
  60. if(found==1) break;
  61. }
  62.  
  63.  
  64. if(found==1){
  65. cout<<"YES"<<endl;
  66. cout<<si<<" "<<di<<"\n";
  67. cout<<sj<<" "<<dj<<"\n";
  68. }
  69. else cout<<"NO"<<"\n";
  70.  
  71. return 0;
  72. }
Time limit exceeded #stdin #stdout 5s 4197052KB
stdin
Standard input is empty
stdout
Standard output is empty