Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include<iostream>
  2. #include<cmath>
  3. #include<vector>
  4. #include<algorithm>
  5. #include<set>
  6. #include<deque>
  7. using namespace std;
  8.  
  9. vector<int>dpp(4,0);
  10. vector<int>dpc(4,0);
  11. multiset<int>s;
  12.  
  13. int i;
  14.  
  15. void f(int a,int b,int c){
  16.     s.clear();
  17.     if(dpp[0]!=0 || i==0)
  18.         s.insert({dpp[0]+a,dpp[0]+b,dpp[0]+c});
  19.     if(dpp[1]!=0 || i==0)
  20.         s.insert({dpp[1]+a,dpp[1]+b,dpp[1]+c});
  21.     if(dpp[2]!=0 || i==0)
  22.         s.insert({dpp[2]+a,dpp[2]+b,dpp[2]+c});
  23.     if(dpp[3]!=0 || i==0)
  24.         s.insert({dpp[3]+a,dpp[3]+b,dpp[3]+c});
  25.     for(auto x:s)
  26.         dpc[x%4]=max(dpc[x%4],x);
  27. }
  28.  
  29.  
  30.  
  31. int main(){
  32.     int n;
  33.     int a,b,c;
  34.     cin>>n;
  35.     int ans=0;
  36.  
  37.     for(i=0;i<n;i++){
  38.         cin>>a>>b>>c;
  39.         dpp[0]=dpc[0];
  40.         dpp[1]=dpc[1];
  41.         dpp[2]=dpc[2];
  42.         dpp[3]=dpc[3];
  43.         dpc.assign(4,0);
  44.         f(a+b,a+c,b+c);
  45.     }
  46.     cout<<dpc[0]<<endl;
  47.     return 0;
  48.  
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement