Advertisement
thesonpb

Tổng 3 dãy số bằng nhau(xóa ít số nhất từ đầu của 3 dãy số sao cho tổng của 3 dãy bằng nhau)

Aug 4th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7.  
  8.  
  9. /* Driver program to test above function */
  10. int main()
  11. {
  12.     // read data
  13.     int n1, n2, n3, i;
  14.     cin >> n1 >> n2 >> n3;
  15.     int* s1 = new int[n1]; int* s2 = new int[n2]; int* s3 = new int[n3];
  16.     for(i=0; i<n1;i++) cin >> s1[i];
  17.     for(i=0; i<n2;i++) cin >> s2[i];
  18.     for(i=0; i<n3;i++) cin >> s3[i];
  19.     // manipulate data
  20.     for(i=n1-2;i>=0;i--) s1[i] += s1[i+1];
  21.     for(i=n2-2;i>=0;i--) s2[i] += s2[i+1];
  22.     for(i=n3-2;i>=0;i--) s3[i] += s3[i+1];
  23.     // find the best pair
  24.     int i1 = 0, i2 = 0, i3 = 0;
  25.     while(i1<n1 && i2<n2 && i3<n3) {
  26.         if(s1[i1] == s2[i2] && s1[i1] == s3[i3]) {
  27.             cout << s1[i1];
  28.             return 0;
  29.         } else {
  30.             if(s1[i1] > s2[i2] && s1[i1] > s3[i3]) {
  31.                 i1++;
  32.             } else if(s2[i2] > s3[i3]) {
  33.                 i2++;
  34.             } else {
  35.                 i3++;
  36.             }
  37.         }
  38.     }
  39.     cout << 0;
  40.     return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement