제출 #1182707

#제출 시각아이디문제언어결과실행 시간메모리
1182707sleepntsheep역사적 조사 (JOI14_historical)C11
컴파일 에러
0 ms0 KiB
#include<stdio.h>
#include<string.h>
#include<algorithm>

int n,nq,x[100000],cr,bb[100000],xs[100000],freq[100000];
long long ans[100000],mx;
struct QUERY{
    int l,r,i;
    bool operator<(const QUERY&o)const{
        if(bb[l]!=bb[o.l])return l<o.l;
        return r<o.r;
    }
}q[100000];

int main(){
    scanf("%d%d",&n,&nq);
    for(int i=0;i<n;++i)scanf("%d",&x[i]),bb[i]=i/500,xs[i]=x[i];
    std::sort(xs,xs+n);
    for(int i=0;i<n;++i)x[i]=std::lower_bound(xs,xs+n,x[i])-xs;
    for(int i=0;i<nq;++i)scanf("%d%d",&q[i].l,&q[i].r),q[i].i=i,--q[i].l,--q[i].r;
    std::sort(q,q+nq);

    for(int i=0;i<nq;++i){
        auto&[l,r,i_]=q[i];
        if(!i||bb[l]!=bb[q[i-1].l]){
            memset(freq,0,sizeof freq);
            cr=0;
            mx=0;
        }
        while(cr<r){
            if(bb[cr]>bb[l]){
                ++freq[x[cr]];
                if(freq[x[cr]]*1ll*xs[x[cr]]>mx)
                    mx=1ll*freq[x[cr]]*xs[x[cr]];
            }
            ++cr;
        }

        long long mx_=mx;
        for(int j=l;j<=cr&&bb[l]==bb[j];++j){
            ++freq[x[j]];
            if(freq[x[j]]*1ll*xs[x[j]]>mx_)
                mx_=1ll*freq[x[j]]*xs[x[j]];
        }

        for(int j=l;j<=cr&&bb[l]==bb[j];++j)
            --freq[x[j]];
        ans[i_]=mx_;
    }

    for(int i=0;i<nq;++i)printf("%lld\n",ans[i]);

    return 0;
}

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

historic.c:3:9: fatal error: algorithm: No such file or directory
    3 | #include<algorithm>
      |         ^~~~~~~~~~~
compilation terminated.