Submission #13937

#TimeUsernameProblemLanguageResultExecution timeMemory
13937model_code정전 (OJUZ10_blackout)C++98
100 / 100
73 ms3428 KiB
#include<stdio.h>
#include<algorithm>
using namespace std;
 
struct intv {
    int x, ad;
    bool operator< (const intv& c) const {
        if(x != c.x)return x<c.x;
        return ad<c.ad;
    }
}ba[300300];
 
int n, l, t;
long long sum;
 
int main(){
    int i, a, pv;
    scanf("%d%d", &n, &l);
    for(i=0; i<n; i++){
        scanf("%d", &a);
        ba[2*i].x=a-l, ba[2*i].ad=1;
        ba[2*i+1].x=a+l, ba[2*i+1].ad=-1;
    }
    sort(ba, ba+2*n);
    for(i=0; i<2*n; i++){
        if(i>0 && t>=2)sum+=ba[i].x-ba[i-1].x;
        t+=ba[i].ad;
    }
    printf("%lld", sum);
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...