Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- void answer(int n, long long& ans, vector <int>& prefix, vector <int>& d, vector <int>& m, vector <int>& a, vector <int>& an){
- if (prefix.size()==n){
- long long sum=0;
- for (int i=0; i<5; i++){
- sum+=d[prefix[i]];
- }
- for (int i=5; i<8; i++){
- sum+=m[prefix[i]];
- }
- for (int i=8; i<10; i++){
- sum+=a[prefix[i]];
- }
- if (sum>=ans){
- an=prefix;
- ans=sum;
- }
- return;
- }
- for (int i=0; i<n; i++){
- bool flag=0;
- for (auto j:prefix){
- if (i==j){
- flag=1;
- }
- }
- if (!flag){
- prefix.push_back(i);
- answer(n, ans, prefix, d, m, a, an);
- prefix.pop_back();
- }
- }
- }
- int main(){
- int n;
- cin>>n;
- vector <int> d(n);
- vector <int> m(n);
- vector <int> a(n);
- for (int i=0; i<n; i++){
- cin>>d[i]>>m[i]>>a[i];
- }
- vector <int> an;
- vector <int> prefix;
- long long ans=0;
- answer(n, ans, prefix, d, m, a, an);
- for (int i=0; i<5; i++){
- cout<<an[i]+1<<" ";
- }
- cout<<"\n";
- for (int i=5; i<8; i++){
- cout<<an[i]+1<<" ";
- }
- cout<<"\n";
- for (int i=8; i<10; i++){
- cout<<an[i]+1<<" ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement