Advertisement
Pearlfromsu

last_st170321_27

Mar 26th, 2021
674
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.44 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main() {//00:25
  8.     ifstream f("C:/inp/st170321/27/27-B.txt");
  9.     int n;
  10.     //int kk[10] = {1, 10, 9, 3, 7, 5, 6, 4, 2, 8};
  11.     f >> n;
  12.     long osts[3][3] = { 0 };
  13.  
  14.     long a;
  15.     for (int i = 0; i < n; i++) {
  16.         //a = kk[i];
  17.         f >> a;
  18.         long maxdif = 0;
  19.         int maxkey = a % 3;
  20.         for (int k = 0; k < 3; k++) { //помещаем в место с наименьшим числом
  21.             if (a - osts[a % 3][k] > maxdif) {
  22.                 maxdif = a - osts[a % 3][k];
  23.                 maxkey = k;
  24.             }
  25.         }
  26.         if (maxdif > 0) { //если записанное число больше
  27.             osts[a % 3][maxkey] = a;
  28.         }
  29.     }
  30.  
  31.     long maxx = 0;
  32.  
  33.     //Как получить остаток 3:
  34.     //0 + 0 + 0
  35.     //1 + 1 + 1
  36.     //2 + 2 + 2
  37.     //0 + 1 + 2
  38.     //а хотя можно просто перебрать все 27 вариантов + сумму каждого массива
  39.  
  40.     for (int i = 0; i < 3; i++) {
  41.         if ((osts[i][0] + osts[i][1] + osts[i][2]) > maxx)
  42.             maxx = osts[i][0] + osts[i][1] + osts[i][2];
  43.     }
  44.     for (int i = 0; i < 3; i++) {
  45.         cout << "zero " << osts[0][i] << endl;
  46.         cout << "one " << osts[1][i] << endl;
  47.         cout << "two " << osts[2][i] << endl;
  48.         for (int j = 0; j < 3; j++) {
  49.             for (int k = 0; k < 3; k++) {
  50.                 if ((osts[0][i] + osts[1][j] + osts[2][k]) > maxx)
  51.                     maxx = osts[0][i] + osts[1][j] + osts[2][k];
  52.             }
  53.         }
  54.     }
  55.     cout << maxx << endl; //00:40
  56.  
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement