제출 #1309981

#제출 시각아이디문제언어결과실행 시간메모리
1309981StefanSebezFire (JOI20_ho_t5)C11
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define pb push_back
#define ll long long
#define ld long double
#define mp make_pair
const int N=2e5+50;
int n,q,a[N],Lv[N],Rv[N];
vector<array<int,3>>Qs[N];
ll res[N];
struct BIT{
    ll T[2*N+50];
    void Update(int i,ll x){i+=N;for(;i<=2*N;i+=i&-i)T[i]+=x;}
    ll Get(int i){i+=N;ll x=0;for(;i>=1;i-=i&-i)x+=T[i];return x;}
    ll Get(int l,int r){return Get(r)-Get(l-1);}
};
struct BIT1{
    BIT bt,bt1;
    void Update(int l,int r,ll x){
        bt.Update(l,x);bt1.Update(l,x*l);
        bt.Update(r+1,-x);bt1.Update(r+1,-x*(r+1));
    }
    ll Get(int i){return bt.Get(i)*(i+1)-bt1.Get(i);}
    ll Get(int l,int r){return Get(r)-Get(l-1);}
}bt[2];
vector<array<int,3>>ev0[2*N],ev1[2*N];
void Addtriangle(int l,int r,int x){
    ev0[0].pb({l,n,x});
    ev0[r-l+1].pb({l,n,-x});
    ev1[0].pb({r+1,n,-x});
    ev1[r-l+1].pb({r+1,n,x});
}
int main(){
    scanf("%i%i",&n,&q);
    for(int i=1;i<=n;i++)scanf("%i",&a[i]);
    for(int i=1;i<=q;i++){
        int t,l,r;scanf("%i%i%i",&t,&l,&r);
        Qs[t].pb({l,r,i});
    }
    vector<int>mono;
    for(int i=1;i<=n;i++){
        Rv[i]=n+1;
        while(!mono.empty()&&a[mono.back()]<=a[i]){
            Rv[mono.back()]=i;
            mono.pop_back();
        }
        mono.pb(i);
    }
    mono.clear();
    for(int i=n;i>=1;i--){
        Lv[i]=-n;
        while(!mono.empty()&&a[mono.back()]<a[i]){
            Lv[mono.back()]=i;
            mono.pop_back();
        }
        mono.pb(i);
    }
    for(int i=1;i<=n;i++){
        Addtriangle(Lv[i]+1,Rv[i]-1,a[i]);
        Addtriangle(Lv[i]+1,i-1,-a[i]);
        Addtriangle(i+1,Rv[i]-1,-a[i]);
    }
    for(int t=0;t<=n;t++){
        for(auto [l,r,x]:ev0[t])bt[0].Update(l,r,x);
        for(auto [l,r,x]:ev1[t])bt[1].Update(l,r,x);
        for(auto [l,r,i]:Qs[t])res[i]=bt[0].Get(l-t,r-t)+bt[1].Get(l,r);
    }
    for(int i=1;i<=q;i++)printf("%lld\n",res[i]);
    return 0;
}

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

ho_t5.c:1:10: fatal error: bits/stdc++.h: No such file or directory
    1 | #include <bits/stdc++.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.