/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 772.0 KiB
#2 Wrong Answer 1ms 540.0 KiB
#3 Wrong Answer 27ms 588.0 KiB
#4 Wrong Answer 19ms 540.0 KiB
#5 Wrong Answer 23ms 540.0 KiB
#6 Wrong Answer 26ms 540.0 KiB
#7 Wrong Answer 28ms 540.0 KiB
#8 Accepted 28ms 1.461 MiB
#9 Wrong Answer 22ms 1.488 MiB

Code

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
#define ll long long
#define mod 1000000007
#define int long long
#define all(x)      x.begin(),x.end()
#define allr(x)     x.rbegin(),x.rend()
#define CheckBit(x,k)   (x & (1LL << k))
#define SetBit(x,k)     (x |= (1LL << k))
#define ClearBit(x,k)   (x &= ~(1LL << k))
#define LSB(mask)       __builtin_ctzll(mask)
#define MSB(mask)       63-__builtin_clzll(mask) 
#define print(x)    cout << #x << " : " << x << endl
#define error1(x)   cerr << #x << " = " << (x) <<endl
#define coutall(v)  for(auto &it: v) cout<<it<<' '; cout<<endl
#define Abid_52     ios::sync_with_stdio(false);cin.tie(0),cin.tie(0)
#define error2(a,b) cerr<<"( "<<#a<<" , "<<#b<<" ) = ( "<<(a)<<" , "<<(b)<<" )\n"
#define UNIQUE(x)   sort(all(x)), x.erase(unique(all(x)), x.end()), x.shrink_to_fit()
template <typename T, typename U> T ceil(T x, U y) {return (x > 0 ? (x + y - 1) / y : x / y);}
template <typename T, typename U> T floor(T x, U y) {return (x > 0 ? x / y : (x - y + 1) / y);}
const int N = 1e5 + 10;
void solve()
{
    int n, m;
    cin >> n;
    vector<int> v(n + 1), v1(n + 1),cost1(n+1,0),cost2(n+1,0);
    for (int i = 1; i <= n; i++)
    {
        cin >> v[i];
    }
    for (int i = 1; i <= n; i++)
    {
        cin >> v1[i];
    }
    for(int i=1;i<n;i++)
    {
        if(v[i]<0 && abs(v[i])>i)
        {
            cost1[i+1]=abs(v[i])-i;
        }
        if(v1[i]<0 && abs(v1[i])>i)
        {
            cost2[i+1]=abs(v1[i])-i;
        }
        cost1[i+1]+=cost1[i];
        cost2[i+1]+=cost2[i];
    }
    // coutall(cost1);
    // coutall(cost2);
    vector<int> pre1(n + 1), pre2(n + 1);
    pre1[1] = v[1], pre2[1] = v1[1];
    for (int i = 2; i <= n; i++)
    {
        pre1[i] = pre1[i - 1] + v[i];
        pre2[i] = pre2[i - 1] + v1[i];
    }
    ll mx = LONG_LONG_MIN,id;
    for (int i = 1; i <= n; i++)
    {
        ll res=(pre1[i]+pre2[n]-pre2[i-1]+cost1[i]+(cost2[n]-cost2[i]));
        mx = max(mx, res);
    }
    cout << mx << endl;
}
int32_t main()
{
    Abid_52;
    int t = 1;
    cin >> t;
    for (int tc = 1; tc <= t; ++tc)
    {
        // cout << "Case " << tc << ": ";
        solve();
    }
}

Information

Submit By
Type
Submission
Problem
P1050 Game on 2d grid
Language
C++20 (G++ 13.2.0)
Submit At
2024-05-07 18:57:13
Judged At
2024-05-07 18:57:13
Judged By
Score
20
Total Time
28ms
Peak Memory
1.488 MiB