/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 520.0 KiB
#2 Accepted 2ms 332.0 KiB
#3 Accepted 2ms 332.0 KiB
#4 Wrong Answer 2ms 540.0 KiB
#5 Wrong Answer 54ms 540.0 KiB
#6 Accepted 59ms 3.598 MiB
#7 Wrong Answer 57ms 3.602 MiB
#8 Wrong Answer 57ms 3.598 MiB
#9 Accepted 51ms 3.598 MiB
#10 Wrong Answer 51ms 3.602 MiB
#11 Accepted 51ms 3.602 MiB
#12 Accepted 51ms 3.594 MiB
#13 Wrong Answer 51ms 3.605 MiB
#14 Wrong Answer 52ms 3.605 MiB
#15 Wrong Answer 52ms 3.566 MiB
#16 Wrong Answer 51ms 3.434 MiB

Code


//on the name of Allah:)
#include<bits/stdc++.h>
#define int         long long
#define Endl        "\n"
#define pi          2 * acos(0.0)
#define mod         1000000007
#define Mul(a,b)    (a%mod * b%mod)%mod
#define Add(a,b)    (a%mod + b%mod)%mod
#define all(x)      (x).begin(),(x).end()
#define allr(x)     (x).rbegin(),(x).rend()
#define gcd(x, y)   (__gcd(x, y))
#define lcm(x, y)   ((x/gcd(x, y))*y)
#define faster      cin.tie(NULL), cout.tie(NULL);
#define TC          int t ; cin>>t ; for(int i=1;i<=t;i++)
const int N = 1e6 + 7;
using namespace std;
void s()
{
  int n;
  cin>>n;
  vector<int>A(n),B(n),C(n);
   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];

  vector<int> D(n);


    int lastSelected = -1;

    for (int i = 0; i < n; ++i) {



        if (lastSelected == 0) {
            if (B[i] > C[i]) {
                lastSelected = 1;
                D[i]=B[i];
            } else {
                lastSelected = 2;
                D[i]=C[i];
            }
        }

        else if (lastSelected == 1) {
            if (A[i] >C[i]) {
                lastSelected = 0;
                D[i]=A[i];
            } else {
                D[i]=C[i];
                lastSelected = 2;
            }
        }

        else if (lastSelected == 2) {
            if (A[i] >B[i]) {
                lastSelected = 0;
                D[i]=A[i];
            } else {
                lastSelected = 1;
                D[i]=B[i];
            }
        }

        else {
            if (A[i] >B[i] && A[i]>C[i]) {
                lastSelected = 0;
                D[i]=A[i];
            } else if (B[i] >B[i] && B[i]>C[i]) {
                lastSelected = 1;
                D[i]=B[i];
            } else {
                D[i]=C[i];
                lastSelected = 2;
            }
        }


    }

    int sum = 0;
    for (int num : D) {
        sum += num;
    }
    cout<<sum<<endl;
}
int32_t main()
{
    ios::sync_with_stdio(false);
    //faster
    TC
    {
        //cout<<"Case "<<i<<": ";
        s();

    }



}




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:42:39
Judged At
2024-10-03 13:55:38
Judged By
Score
35
Total Time
59ms
Peak Memory
3.605 MiB