이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <cstdio>
#include <algorithm>
using namespace std;
typedef pair<int,int> pp;
int p[150010];
pp query[300010];
int n,l;
int main()
{
    scanf("%d%d",&n,&l);
    int i;
    for(i=0;i<n;++i) scanf("%d",p+i);
    sort(p,p+n);
    for(i=0;i<n;++i){
        query[i*2]={p[i]-l,i%2+1};
        query[i*2+1]={p[i]+l,-(i%2+1)};
    }
    sort(query, query+2*n);
    unsigned int ans=0;
    int last=0;
    int on[3]={0,0,0};
    for(i=0;i<2*n;++i){
        pp& cq=query[i];
        if(on[1] && on[2]){
            ans+=((unsigned)(cq.first))-last;
        }
        if(cq.second>0) ++on[cq.second];
        else --on[-cq.second];
        last=cq.first;
    }
    printf("%u\n",ans);
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |