제출 #1364833

#제출 시각아이디문제언어결과실행 시간메모리
1364833mrasool1665가로등 (APIO19_street_lamps)C++20
컴파일 에러
0 ms0 KiB
//MRasool kheyri
//iran -> khorasan -> ferdows -> Baghestan
//14/2/1405
//vasat azmoonima...
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
#define el '\n'
#define mid (l+r)/2
#define lid id<<1
#define rid lid|1
const ll maxn = 2e6 + 100 ;
const ll oo = 1e17 + 100 ;
ll n , q , a[maxn] , b[maxn] ;
ll node[maxn] ;
void merge(ll l , ll r , ll id){
    node[id] = max(node[lid],node[rid]) ;
    return ;
}
void build(ll l , ll r , ll id){
    if(l+1 == r){
        node[id] = a[l] ? 0 : oo ;
        return ;
    }
    build(l,mid,lid) ;
    build(mid,r,rid) ;
    merge(l,r,id) ;
    return;
}
void update(ll s , ll e , ll l , ll r , ll id , ll x){
    if(e <= l || r <= s){return;}
    if(s <= l && r <= e){
        node[id] = x ;
        return ;
    }
    update(s,e,l,mid,lid,x) ;
    update(s,e,mid,r,rid,x) ;
    merge(l,r,id) ;
    return ;
}
ll get(ll s , ll e , ll l , ll r , ll id){
    if(e <= l || r <= s){
        return -oo ;
    }
    if(s <= l && r <= e){
        return node[id] ;
    }
    return max(get(s,e,l,mid,lid),get(s,e,mid,r,rid)) ;
}
void solve(){
    cin>>n>>q ;
    for(ll i = 0 ; i < n ; i++){
        char ch ;
        cin>>ch ;
        a[i] = ch-'0' ;
    }
    build(0,n,1) ;
    for(ll _ = 1 ; _ <= q ; _++){
        string s ;
        cin>>s ;
        if(s == "query"){
            ll l , r ;
            cin>>l>>r ;
            l-- , r-- ;
            ll k = get(l,r,0,n,1) ;
            cout<<(k == oo ? 0 : _-k)<<el ;
        }
        else{
            ll x ;
            cin>>x ;
            update(x,x+1,0,n,1,_) ;
        }
    }
    return ;
}
int main(){
    //ios_base::sync_with_stdio(0) , cin.tie(nullptr) , cout.tie(nullptr) ;
    ll t = 1 ;
    //cin>>t ;
    while(t--){
        solve() ;
    }
    return 0 ;
}//MRasool kheyri
//iran -> khorasan -> ferdows -> Baghestan
//14/2/1405
//vasat azmoonima...
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
#define el '\n'
#define mid (l+r)/2
#define lid id<<1
#define rid lid|1
const ll maxn = 2e6 + 100 ;
const ll oo = 1e17 + 100 ;
ll n , q , a[maxn] , b[maxn] ;
ll node[maxn] ;
void merge(ll l , ll r , ll id){
    node[id] = max(node[lid],node[rid]) ;
    return ;
}
void build(ll l , ll r , ll id){
    if(l+1 == r){
        node[id] = a[l] ? 0 : oo ;
        return ;
    }
    build(l,mid,lid) ;
    build(mid,r,rid) ;
    merge(l,r,id) ;
    return;
}
void update(ll s , ll e , ll l , ll r , ll id , ll x){
    if(e <= l || r <= s){return;}
    if(s <= l && r <= e){
        node[id] = x ;
        return ;
    }
    update(s,e,l,mid,lid,x) ;
    update(s,e,mid,r,rid,x) ;
    merge(l,r,id) ;
    return ;
}
ll get(ll s , ll e , ll l , ll r , ll id){
    if(e <= l || r <= s){
        return -oo ;
    }
    if(s <= l && r <= e){
        return node[id] ;
    }
    return max(get(s,e,l,mid,lid),get(s,e,mid,r,rid)) ;
}
void solve(){
    cin>>n>>q ;
    for(ll i = 0 ; i < n ; i++){
        char ch ;
        cin>>ch ;
        a[i] = ch-'0' ;
    }
    build(0,n,1) ;
    for(ll _ = 1 ; _ <= q ; _++){
        string s ;
        cin>>s ;
        if(s == "query"){
            ll l , r ;
            cin>>l>>r ;
            l-- , r-- ;
            ll k = get(l,r,0,n,1) ;
            cout<<(k == oo ? 0 : _-k)<<el ;
        }
        else{
            ll x ;
            cin>>x ;
            update(x,x+1,0,n,1,_) ;
        }
    }
    return ;
}
int main(){
    //ios_base::sync_with_stdio(0) , cin.tie(nullptr) , cout.tie(nullptr) ;
    ll t = 1 ;
    //cin>>t ;
    while(t--){
        solve() ;
    }
    return 0 ;
}

컴파일 시 표준 에러 (stderr) 메시지

street_lamps.cpp:95:10: error: redefinition of 'const ll maxn'
   95 | const ll maxn = 2e6 + 100 ;
      |          ^~~~
street_lamps.cpp:12:10: note: 'const ll maxn' previously defined here
   12 | const ll maxn = 2e6 + 100 ;
      |          ^~~~
street_lamps.cpp:96:10: error: redefinition of 'const ll oo'
   96 | const ll oo = 1e17 + 100 ;
      |          ^~
street_lamps.cpp:13:10: note: 'const ll oo' previously defined here
   13 | const ll oo = 1e17 + 100 ;
      |          ^~
street_lamps.cpp:97:4: error: redefinition of 'll n'
   97 | ll n , q , a[maxn] , b[maxn] ;
      |    ^
street_lamps.cpp:14:4: note: 'll n' previously declared here
   14 | ll n , q , a[maxn] , b[maxn] ;
      |    ^
street_lamps.cpp:97:8: error: redefinition of 'll q'
   97 | ll n , q , a[maxn] , b[maxn] ;
      |        ^
street_lamps.cpp:14:8: note: 'll q' previously declared here
   14 | ll n , q , a[maxn] , b[maxn] ;
      |        ^
street_lamps.cpp:97:12: error: redefinition of 'll a [2000100]'
   97 | ll n , q , a[maxn] , b[maxn] ;
      |            ^
street_lamps.cpp:14:12: note: 'll a [2000100]' previously declared here
   14 | ll n , q , a[maxn] , b[maxn] ;
      |            ^
street_lamps.cpp:97:22: error: redefinition of 'll b [2000100]'
   97 | ll n , q , a[maxn] , b[maxn] ;
      |                      ^
street_lamps.cpp:14:22: note: 'll b [2000100]' previously declared here
   14 | ll n , q , a[maxn] , b[maxn] ;
      |                      ^
street_lamps.cpp:98:4: error: redefinition of 'll node [2000100]'
   98 | ll node[maxn] ;
      |    ^~~~
street_lamps.cpp:15:4: note: 'll node [2000100]' previously declared here
   15 | ll node[maxn] ;
      |    ^~~~
street_lamps.cpp:99:6: error: redefinition of 'void merge(ll, ll, ll)'
   99 | void merge(ll l , ll r , ll id){
      |      ^~~~~
street_lamps.cpp:16:6: note: 'void merge(ll, ll, ll)' previously defined here
   16 | void merge(ll l , ll r , ll id){
      |      ^~~~~
street_lamps.cpp:103:6: error: redefinition of 'void build(ll, ll, ll)'
  103 | void build(ll l , ll r , ll id){
      |      ^~~~~
street_lamps.cpp:20:6: note: 'void build(ll, ll, ll)' previously defined here
   20 | void build(ll l , ll r , ll id){
      |      ^~~~~
street_lamps.cpp:113:6: error: redefinition of 'void update(ll, ll, ll, ll, ll, ll)'
  113 | void update(ll s , ll e , ll l , ll r , ll id , ll x){
      |      ^~~~~~
street_lamps.cpp:30:6: note: 'void update(ll, ll, ll, ll, ll, ll)' previously defined here
   30 | void update(ll s , ll e , ll l , ll r , ll id , ll x){
      |      ^~~~~~
street_lamps.cpp:124:4: error: redefinition of 'll get(ll, ll, ll, ll, ll)'
  124 | ll get(ll s , ll e , ll l , ll r , ll id){
      |    ^~~
street_lamps.cpp:41:4: note: 'll get(ll, ll, ll, ll, ll)' previously defined here
   41 | ll get(ll s , ll e , ll l , ll r , ll id){
      |    ^~~
street_lamps.cpp:133:6: error: redefinition of 'void solve()'
  133 | void solve(){
      |      ^~~~~
street_lamps.cpp:50:6: note: 'void solve()' previously defined here
   50 | void solve(){
      |      ^~~~~
street_lamps.cpp:159:5: error: redefinition of 'int main()'
  159 | int main(){
      |     ^~~~
street_lamps.cpp:76:5: note: 'int main()' previously defined here
   76 | int main(){
      |     ^~~~