/ SeriousOJ /

Record Detail

Runtime Error


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 320.0 KiB
#3 Accepted 1ms 536.0 KiB
#4 Accepted 1ms 532.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 2ms 532.0 KiB
#7 Accepted 4ms 532.0 KiB
#8 Accepted 4ms 532.0 KiB
#9 Accepted 5ms 324.0 KiB
#10 Accepted 4ms 532.0 KiB
#11 Accepted 5ms 392.0 KiB
#12 Accepted 2ms 532.0 KiB
#13 Accepted 1ms 320.0 KiB
#14 Accepted 1ms 764.0 KiB
#15 Accepted 1ms 540.0 KiB
#16 Accepted 1ms 532.0 KiB
#17 Accepted 1ms 532.0 KiB
#18 Accepted 1ms 532.0 KiB
#19 Accepted 1ms 532.0 KiB
#20 Accepted 1ms 532.0 KiB
#21 Accepted 1ms 532.0 KiB
#22 Accepted 1ms 324.0 KiB
#23 Accepted 1ms 532.0 KiB
#24 Accepted 1ms 764.0 KiB
#25 Accepted 1ms 532.0 KiB
#26 Accepted 1ms 532.0 KiB
#27 Accepted 1ms 532.0 KiB
#28 Accepted 1ms 520.0 KiB
#29 Accepted 1ms 532.0 KiB
#30 Accepted 1ms 532.0 KiB
#31 Accepted 1ms 532.0 KiB
#32 Accepted 1ms 364.0 KiB
#33 Accepted 1ms 320.0 KiB
#34 Accepted 1ms 532.0 KiB
#35 Accepted 1ms 532.0 KiB
#36 Accepted 1ms 532.0 KiB
#37 Accepted 1ms 580.0 KiB
#38 Accepted 1ms 320.0 KiB
#39 Accepted 1ms 492.0 KiB
#40 Accepted 1ms 532.0 KiB
#41 Accepted 1ms 364.0 KiB
#42 Accepted 1ms 340.0 KiB
#43 Accepted 1ms 320.0 KiB
#44 Accepted 1ms 500.0 KiB
#45 Accepted 1ms 516.0 KiB
#46 Accepted 1ms 532.0 KiB
#47 Accepted 1ms 324.0 KiB
#48 Accepted 1ms 320.0 KiB
#49 Accepted 2ms 532.0 KiB
#50 Accepted 4ms 536.0 KiB
#51 Accepted 4ms 532.0 KiB
#52 Accepted 3ms 532.0 KiB
#53 Accepted 1ms 764.0 KiB
#54 Accepted 1ms 532.0 KiB
#55 Accepted 1ms 532.0 KiB
#56 Accepted 1ms 532.0 KiB
#57 Accepted 1ms 532.0 KiB
#58 Accepted 1ms 532.0 KiB
#59 Accepted 1ms 540.0 KiB
#60 Accepted 1ms 324.0 KiB
#61 Accepted 1ms 532.0 KiB
#62 Accepted 1ms 532.0 KiB
#63 Accepted 1ms 532.0 KiB
#64 Accepted 2ms 328.0 KiB
#65 Accepted 3ms 532.0 KiB
#66 Accepted 2ms 532.0 KiB
#67 Accepted 1ms 532.0 KiB
#68 Accepted 1ms 532.0 KiB
#69 Accepted 1ms 516.0 KiB
#70 Accepted 1ms 532.0 KiB
#71 Accepted 1ms 532.0 KiB
#72 Accepted 1ms 532.0 KiB
#73 Accepted 1ms 484.0 KiB
#74 Accepted 1ms 532.0 KiB
#75 Accepted 1ms 532.0 KiB
#76 Accepted 1ms 324.0 KiB
#77 Accepted 1ms 320.0 KiB
#78 Accepted 1ms 532.0 KiB
#79 Accepted 1ms 384.0 KiB
#80 Accepted 1ms 500.0 KiB
#81 Accepted 1ms 532.0 KiB
#82 Accepted 1ms 508.0 KiB
#83 Accepted 1ms 480.0 KiB
#84 Accepted 1ms 444.0 KiB
#85 Accepted 1ms 544.0 KiB
#86 Accepted 1ms 532.0 KiB
#87 Accepted 1ms 532.0 KiB
#88 Accepted 1ms 324.0 KiB
#89 Accepted 1ms 532.0 KiB
#90 Accepted 1ms 324.0 KiB
#91 Accepted 1ms 532.0 KiB
#92 Accepted 7ms 788.0 KiB
#93 Accepted 6ms 788.0 KiB
#94 Accepted 7ms 924.0 KiB
#95 Accepted 7ms 936.0 KiB
#96 Accepted 7ms 788.0 KiB
#97 Runtime Error 12ms 788.0 KiB
#98 Runtime Error 11ms 968.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define endl '\n'
const int N= 1e5+5;
int a[N];
pair<int,int>sg[4*N];

void build(int node, int start, int ending)
{
    if(start==ending)
    {
        sg[node]= {a[start],a[start]};
        return;
    }

    int mid = (start+ending-1)/2;

    build(node*2, start, mid);
    build(node*2+1, mid+1, ending);

    sg[node].first = min(sg[node*2].second, sg[node*2+1].second);
    sg[node].second = max(sg[node*2].first, sg[node*2+1].first);
}

void update(int node, int start, int end, int idx, int val)
{
    if(start==end)
    {
        sg[node]={val,val};
        a[idx]=val;
        return;
    }

    int mid = (start+end-1)/2;

    if(idx<=mid)
        update(node*2, start, mid, idx, val);
    else
        update(node*2+1, mid+1, end, idx, val);

    sg[node].first = min(sg[node*2].second, sg[node*2+1].second);
    sg[node].second = max(sg[node*2].first, sg[node*2+1].first);

}

//int query (int node, int start, int ending, int l, int r)
//{
//    if(r<start || l>ending)
//        return 0;
//    if(l<=start && r>=ending)
//        return sg[node];
//
//    int mid = (start+ending)/2;
//
//    int q1 = query(node*2, start, mid, l, r);
//    int q2 = query(node*2+1, mid+1, ending, l, r);
//
//    return q1+q2;
//
//}

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

    int n,q; cin>>n>>q;

    for(int i=1; i<=n; i++) cin>>a[i];

    build(1,1,n);


    while(q--)
    {
        int index,value, turn;

        cin>>index>>value>>turn;

        update(1,1,n,index,value);

        if(turn==0)
        {
            cout<<sg[1].first<<endl;
        }
        else
            cout<<sg[1].second<<endl;
    }


    return 0;
}

Information

Submit By
Type
Submission
Problem
P1169 F. Thakur vs Roy again
Language
C++17 (G++ 13.2.0)
Submit At
2025-07-11 07:43:03
Judged At
2025-07-11 07:43:03
Judged By
Score
96
Total Time
12ms
Peak Memory
968.0 KiB