답안 #472886

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

int n,q;
int seg[600005];
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] = 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 y)
{
    if(en<qs||st>n)return uwu;
    if(seg[idx]>y)return uwu;
    if(st==en)return (seg[st]==0?uwu:st);
    int mid = (st+en)/2;
    int left  = query(idx*2,st,mid,qs,y);
    int right = query(idx*2+1,mid+1,en,qs,y);
    return min(left,right);
}

main()
{
    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,a);
            cout<<(ans==uwu ? -1:ans)<<endl;
        }
    }
}

Compilation message

deda.cpp:34:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   34 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 204 KB Output isn't correct
2 Incorrect 2 ms 204 KB Output isn't correct
3 Incorrect 28 ms 324 KB Output isn't correct
4 Execution timed out 1095 ms 388 KB Time limit exceeded
5 Execution timed out 1083 ms 2360 KB Time limit exceeded
6 Execution timed out 1089 ms 2776 KB Time limit exceeded
7 Execution timed out 1095 ms 2552 KB Time limit exceeded