Advertisement
ekzolot

Untitled

Nov 2nd, 2022
769
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. void answer(int n, long long& ans, vector <int>& prefix, vector <int>& d, vector <int>& m, vector <int>& a, vector <int>& an){
  5.     if (prefix.size()==n){
  6.         long long sum=0;
  7.         for (int i=0; i<5; i++){
  8.             sum+=d[prefix[i]];
  9.         }
  10.         for (int i=5; i<8; i++){
  11.             sum+=m[prefix[i]];
  12.         }
  13.         for (int i=8; i<10; i++){
  14.             sum+=a[prefix[i]];
  15.         }
  16.         if (sum>=ans){
  17.             an=prefix;
  18.             ans=sum;
  19.         }
  20.         return;
  21.     }
  22.     for (int i=0; i<n; i++){
  23.         bool flag=0;
  24.         for (auto j:prefix){
  25.             if (i==j){
  26.                 flag=1;
  27.             }
  28.         }
  29.         if (!flag){
  30.             prefix.push_back(i);
  31.             answer(n, ans, prefix, d, m, a, an);
  32.             prefix.pop_back();
  33.         }
  34.     }
  35. }
  36. int main(){
  37.     int n;
  38.     cin>>n;
  39.     vector <int> d(n);
  40.     vector <int> m(n);
  41.     vector <int> a(n);
  42.     for (int i=0; i<n; i++){
  43.         cin>>d[i]>>m[i]>>a[i];
  44.     }
  45.     vector <int> an;
  46.     vector <int> prefix;
  47.     long long ans=0;
  48.     answer(n, ans, prefix, d, m, a, an);
  49.     for (int i=0; i<5; i++){
  50.         cout<<an[i]+1<<" ";
  51.     }
  52.     cout<<"\n";
  53.     for (int i=5; i<8; i++){
  54.         cout<<an[i]+1<<" ";
  55.     }
  56.     cout<<"\n";
  57.     for (int i=8; i<10; i++){
  58.         cout<<an[i]+1<<" ";
  59.     }
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement