Advertisement
Korotkodul

S_N7

Feb 28th, 2023
562
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.91 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <vector>
  4. #include <queue>
  5. #include <algorithm>
  6. #include <string>
  7. #include <stack>
  8. #include <set>
  9. #include <map>
  10. #define pii pair <int, int>
  11. #define pb(x) push_back(x)
  12. using namespace std;
  13. using ll = long long;
  14. using ld = long double;
  15. using db = double;
  16. void cv(vector <int> &v) {
  17.     for (auto x : v) cout << x << ' ';
  18.     cout << "\n";
  19. }
  20.  
  21. void cvl(vector <ll> &v) {
  22.     for (auto x : v) cout << x << ' ';
  23.     cout << "\n";
  24. }
  25.  
  26.  
  27. void cvv(vector <vector <int> > &v) {
  28.     for (auto x : v) cv(x);
  29.     cout << "\n";
  30. }
  31.  
  32. void cvb(vector <bool> v) {
  33.     for (bool x : v) cout << x << ' ';
  34.     cout << "\n";
  35. }
  36.  
  37. void cvs(vector <string>  v) {
  38.     for (auto a : v) {
  39.         cout << a << "\n";
  40.     }
  41. }
  42.  
  43. void cvp(vector <pii> a) {
  44.     for (auto p : a) {
  45.         cout << p.first << ' ' << p.second << "\n";
  46.     }
  47.     cout << "\n";
  48. }
  49.  
  50. #include <fstream>
  51.  
  52. void f(vector <pii> &ar) {
  53.     sort(ar.begin(), ar.end());
  54.     reverse(ar.begin(), ar.end());
  55. }
  56.  
  57. int main() {
  58.     ios::sync_with_stdio(0);
  59.     cin.tie(0);
  60.     cout.tie(0);
  61.  
  62.     string data;
  63.     ifstream file("sum27-A_2.txt");
  64.     //ifstream file("test.txt");
  65.     getline(file, data);
  66.     int n = stoi(data);
  67.     vector <pii> ar, A, B, C;
  68.     for (int i = 0; i < n; ++i) {
  69.         getline(file, data);
  70.         int x = stoi(data);
  71.         ar.push_back({x,i});
  72.         if (x % 14 == 0) {
  73.             C.push_back({x,i});
  74.         } else if (x % 7 == 0) {
  75.             B.push_back({x,i});
  76.         } else if (x % 2 == 0) {
  77.             A.push_back({x,i});
  78.         }
  79.     }
  80.     f(ar);
  81.     f(A);
  82.     f(B);
  83.     f(C);
  84.     int ans = -1;
  85.     if (!A.empty() && !B.empty()) {
  86.         ans = A[0].first * B[0].first;
  87.     }
  88.     int i = 0;
  89.     if (!C.empty() && C[0] == ar[i]) {
  90.         i++;
  91.     }
  92.     if (!C.empty()) {
  93.         ans = max(ans, C[0].first * ar[i].first);
  94.     }
  95.     cout << ans;
  96. }
  97.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement