Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector <int> t[2];
- int mod(int x){
- return ((x%3)+3)%3;
- }
- int sgn(int x){
- if(x>0) return 1;
- else return -1;
- }
- int main(){
- long long s = 0;
- int n, x; cin >> n;
- for(int i = 0 ; i < n ; i++){
- cin >> x;
- if(x == 0) continue;
- else if(mod(x) == 1) t[(1-sgn(x))/2].push_back(abs(x));
- else if(mod(x) == 2) t[(1+sgn(x))/2].push_back(abs(x));
- if(x > 0) s+=x;
- }
- for(int i = 0 ; i < 2 ; i++){
- t[0].push_back(10000000);
- t[1].push_back(10000000);
- }
- sort(t[0].begin(), t[0].end());
- sort(t[1].begin(), t[1].end());
- if(s%3 == 2) s-=min((t[1][0] + t[1][1]), t[0][0]);
- else if(s%3 == 0) s-=min((t[0][0] + t[0][1]), t[1][0]);
- cout << s;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement