Advertisement
egormerk

27 задача максимальная сумма (из пар) кратная трём

Apr 2nd, 2021
833
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <vector>
  6.  
  7. using namespace std;
  8.  
  9. int main() {
  10.     // поиск максимальной суммы чисел (из пар) кратной 3
  11.     ifstream file("27-2b.txt");
  12.     vector <int> s(3);
  13.     vector <int> t(3);
  14.     int n, a, b;
  15.     file >> n;
  16.     file >> a >> b;
  17.     s[a % 3] = a;
  18.     s[b % 3] = max(t[b % 3], b);
  19.     cout << n << " " << a << " " << b << endl;
  20.     for (int i = 1; i < n; i++) {
  21.         file >> a >> b;
  22.         for (int j = 0; j < 3; j++) {
  23.             if (s[j] != 0) {
  24.                 t[(s[j] + a) % 3] = max(t[(s[j] + a) % 3], s[j] + a);
  25.                 t[(s[j] + b) % 3] = max(t[(s[j] + b) % 3], s[j] + b);
  26.             }
  27.         }
  28.         s = t;
  29.         t.resize(0);
  30.         t.resize(3);
  31.     }
  32.     cout << s[0];
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement