/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Wrong Answer 1ms 324.0 KiB
#3 Wrong Answer 1ms 324.0 KiB
#4 Wrong Answer 2ms 580.0 KiB
#5 Wrong Answer 23ms 580.0 KiB
#6 Accepted 27ms 2.77 MiB
#7 Wrong Answer 27ms 2.812 MiB
#8 Wrong Answer 27ms 2.84 MiB
#9 Accepted 24ms 2.77 MiB
#10 Accepted 24ms 2.836 MiB
#11 Accepted 26ms 2.77 MiB
#12 Accepted 26ms 2.832 MiB
#13 Wrong Answer 25ms 2.816 MiB
#14 Wrong Answer 25ms 2.77 MiB
#15 Wrong Answer 25ms 2.836 MiB
#16 Wrong Answer 25ms 2.812 MiB

Code

#include<bits/stdc++.h>
using namespace std;
#define ff       first
#define ss       second
#define MX       1000005
#define mod      1000000007
#define ll       long long
#define pb       push_back
#define pll      pair<ll,ll>
#define endl     "\n"
#define bug(a)   cerr<<#a<<" : "<<a<<endl
#define all(x)   (x).begin(),(x).end()
#define allr(x)  (x).rbegin(),(x).rend()
#define Mul(a,b) (a%mod * b%mod)%mod
#define Add(a,b) (a%mod + b%mod)%mod


int main() {
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);

    ll t;
    cin>>t;
    while(t--) {
        ll n;
        cin>>n;
        ll a[n+5], b[n+5], c[n+5];
        for(int i=0; i<n; i++) cin>>a[i];
        for(int i=0; i<n; i++) cin>>b[i];
        for(int i=0; i<n; i++) cin>>c[i];

        int sum=0, last=0, ans=0;
        for(int i=0; i<n; i++) {
            if(a[i]>=b[i] && a[i]>=c[i] && last!=1) {
                last = 1;
                ans+=a[i];
            }
            else if(b[i]>=c[i] && last!=2) {
                last = 2;
                ans+=b[i];
            }
            else if(last!=3){
                last = 3;
                ans+=c[i];
            } else {
                if(last==3) {
                    if(a[i]>=b[i]) {
                        ans+=a[i];
                        last=1;
                    }
                    else {
                        ans+=b[i];
                        last=2;
                    }
                }
                if(last==2) {
                    if(a[i]>=c[i]) {
                        ans+=a[i];
                        last=1;
                    }
                    else {
                        ans+=c[i];
                        last=3;
                    }
                }
                if(last==1) {
                    if(b[i]>=c[i]) {
                        ans+=b[i];
                        last=2;
                    }
                    else {
                        ans+=c[i];
                        last=3;
                    }
                }
            }
        }

        cout<<ans<<endl;
    }

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1046 Maximum sum in 3-array
Contest
TLE_Headquarters - round #1
Language
C++20 (G++ 13.2.0)
Submit At
2024-03-27 17:27:21
Judged At
2024-10-03 13:55:52
Judged By
Score
31
Total Time
27ms
Peak Memory
2.84 MiB