Submission #68762555


Source Code Expand

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std;
using namespace __gnu_pbds;

    // Typedef
typedef unsigned int uint;
typedef unsigned long long ull;
typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vll;
typedef vector<bool> vb;
typedef vector<vi> vvi;
typedef vector<vll> vvll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<pii> vpii;
typedef vector<pll> vpll;
typedef map<int, int> mii;
typedef map<char, int> mci;
typedef map<ll, ll> mll;
typedef set<int> si;
typedef tree<int, null_type, less<int>, rb_tree_tag,
tree_order_statistics_node_update> ordered_set;
/*
    greater<int> for large to small
    less_equal for not unique
    finding k-th element --> os.find_by_order(k);                           // O(log n)
    finding the number of elements smaller than x --> os.order_by_key(x);   // O(log n)
    os.erase(x);
*/



    // Macros
#define PB push_back
#define IN insert
#define all(x) x.begin(), x.end()
#define trav(i, a) for (auto &i : a)
#define GCD __gcd
#define MP make_pair
#define F first
#define S second
#define endl '\n'
#define sz(x) (ll)x.size()
#define LB lower_bound
#define UB upper_bound
#define DEBUG(i) cout << "DEBUG " << i << "\n";
#define CASE(i) cout << "Case " << i << ": ";
#define FOR(i, a, b) for (int i = a; i < b; i++)
#define REP(i, a, b) for (int i = a; i <= b; i++)
#define REV(i, a, b) for (int i = a; i >= b; i--)
#define GT(x) greater<x>()
#define setpre(n) fixed << setprecision(n)
#define print(x) for(auto &i : x) cout << i << " " ; cout '\n'
#define SZ(x) x.size()
#define LEN(s) s.length()
#define MEM(arr, val) memset(arr, val, sizeof(arr));

    // Functions
template <typename T>
void pv(vector<T> &a){
    for (T u : a) cout << u << ' ';
    cout << '\n';
}

template <typename T>
void pv2(vector<vector<T>> &a){
    for (auto &aa : a) {
        pv(aa);
    }
}


    // Constants
const ll MOD7 = 1e9 + 7;
const ll MOD9 = 998244353;
const int dx[4] = {-1, 1, 0, 0};
const int dy[4] = {0, 0, -1, 1};


    // Custom Functions
void fast() {
    ios::sync_with_stdio(false);
    cin.tie(0);
}

ll binpow(ll a, ll b, ll m){
    ll res = 1; 

    while (b){
        if (b & 1) res = (res * a) % m; 
        a = (a * a) % m; 
        b >>= 1;
    }
    return res;
}

ull LCM(ull a, ull b){
   return (a * b) / GCD(a, b);
}

    // Custom Comparator
bool cmp(const pair<ll, ll>& x, const pair<ll, ll>& y){
    if (x.F == y.F) return x.S > y.S;
    else return x.F < y.F;
}


    // Extra Info
// INT_MAX for max value... min_diff = INT_MAX
// INT_MIN for min value... max_sum = INT_MIN --> for Kadane's Algorithm

    // Global Variables

bool isOk(int l, int r, ll k, vvi &v){

    ll sum = 0;
    FOR(i, 0, 30){
        if (v[i][r + 1] - v[i][l] == 0) sum += (1 << i);
    }

    if (sum >= k) return 1;
    else return 0;

}


void solve(ll tc){

    ll n, q;
    cin >> n >> q;

    vll a(n), b(n);
    FOR(i, 0, n) cin >> a[i];
    FOR(i, 0, n) cin >> b[i];

    vll mn(n);
    ll sum = 0;
    FOR(i, 0, n){
        mn[i] = min(a[i], b[i]);
        sum += mn[i];
    }
    // DEBUG(sum)
    // pv(mn);

    while (q--){
        char c;
        ll x, v;
        cin >> c >> x >> v;
        x--;
        if (c == 'A'){
            sum -= mn[x];
            mn[x] = min(b[x], v);
            sum += mn[x];
            a[x] = v;            
        }
        else{
            sum -= mn[x];
            mn[x] = min(a[x], v);
            sum += mn[x];
            b[x] = v;
        }
        // pv(mn);

        cout << sum << '\n';
    }

}




int main(void){

    fast(); 

    // precal();

    // freopen("fenceplan.in", "r", stdin);
    // freopen("fenceplan.out", "w", stdout);

    ll t = 1;
    int i = 1;
    // cin >> t;

    // for (ll i = 1; i <= t; i++) 
        solve(i);

}

Submission Info

Submission Time
Task C - Sum of Min Query
User priashisg
Language C++ 17 (gcc 12.2)
Score 300
Code Size 4053 Byte
Status AC
Exec Time 71 ms
Memory 8304 KiB

Compile Error

Main.cpp: In function ‘void solve(ll)’:
Main.cpp:131:15: warning: unused parameter ‘tc’ [-Wunused-parameter]
  131 | void solve(ll tc){
      |            ~~~^~
Main.cpp: In function ‘int main()’:
Main.cpp:185:8: warning: unused variable ‘t’ [-Wunused-variable]
  185 |     ll t = 1;
      |        ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 23
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3632 KiB
00_sample_01.txt AC 1 ms 3508 KiB
00_sample_02.txt AC 1 ms 3500 KiB
01_random_00.txt AC 1 ms 3508 KiB
01_random_01.txt AC 61 ms 8304 KiB
01_random_02.txt AC 56 ms 7944 KiB
01_random_03.txt AC 28 ms 5408 KiB
01_random_04.txt AC 57 ms 7620 KiB
01_random_05.txt AC 27 ms 6036 KiB
01_random_06.txt AC 45 ms 5708 KiB
01_random_07.txt AC 16 ms 5348 KiB
01_random_08.txt AC 63 ms 8152 KiB
01_random_09.txt AC 60 ms 7908 KiB
01_random_10.txt AC 71 ms 8084 KiB
01_random_11.txt AC 54 ms 7888 KiB
01_random_12.txt AC 60 ms 8076 KiB
01_random_13.txt AC 67 ms 8084 KiB
01_random_14.txt AC 64 ms 8088 KiB
01_random_15.txt AC 69 ms 8084 KiB
01_random_16.txt AC 64 ms 8092 KiB
01_random_17.txt AC 62 ms 8120 KiB
01_random_18.txt AC 58 ms 7676 KiB
01_random_19.txt AC 60 ms 8064 KiB