답안 #472871

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
472871 2021-09-14T12:31:19 Z MamdouhN Deda (COCI17_deda) C++17
60 / 140
1000 ms 8620 KB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"

int ar [200005],seg[800005];
int uwu = 92716301829;
void update(int idx,int st,int en,int i,int value)
{
    if(en<i||st>i)return;
    if(st==en)
    {
        seg[idx] = ar[i] = value;
        return;
    }
    int mid = (st+en)/2;
    update(idx*2,st,mid,i,value);
    update(idx*2+1,mid+1,en,i,value);
    seg[idx]=min(seg[idx*2],seg[idx*2+1]);
}

int query(int idx,int st,int en,int qs,int qe,int y)
{
    if(en<qs||st>qe)return uwu;
    if(seg[idx]>y)return uwu;
    if(st==en)return st;
    int mid = (st+en)/2;
    int left  = query(idx*2,st,mid,qs,qe,y);
    int right = query(idx*2+1,mid+1,en,qs,qe,y);
    return min(left,right);
}

main()
{
    for(int i=0;i<800005;i++)seg[i] = uwu;
    int n,q;
    cin>>n>>q;
    while(q--)
    {
        char c;
        int a,b;
        cin>>c>>a>>b;
        if(c=='M')
        {
            update(1,0,n,b,a);
        }
        else
        {
            int ans = query(1,0,n,b,n,a);
            cout<<(ans==uwu ? -1:ans)<<endl;
        }
    }
}

Compilation message

deda.cpp:33:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   33 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 6476 KB Output is correct
2 Correct 5 ms 6476 KB Output is correct
3 Correct 27 ms 6480 KB Output is correct
4 Execution timed out 1079 ms 8620 KB Time limit exceeded
5 Execution timed out 1080 ms 7436 KB Time limit exceeded
6 Execution timed out 1084 ms 7952 KB Time limit exceeded
7 Execution timed out 1086 ms 8324 KB Time limit exceeded