답안 #14359

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
14359 2015-05-12T12:16:45 Z Fakeable 정전 (OJUZ10_blackout) C++
0 / 100
45 ms 3212 KB
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
const int INF = -2147483648;
const int MAX_N = 150500;
int n,l,a[MAX_N],ans,covered = INF;
vector<int> v1,v2;
void input() {
    scanf("%d %d",&n,&l);
    for(int i=0;i<n;i++) scanf("%d",&a[i]);
    sort(a,a+n);
    return;
}
inline int calc(int x, int y,int limit) {
    int front, rear;
    if(x<y) {
        rear = x+l;
        front = max(covered, y-l);
        covered = x+l;
    }
    else {
        rear = y+l;
        front = max(covered, x-l);
        covered = y+l;
    }
    return rear - front + 1;
}
void solve() {
    bool pushzero = true;
    v1.push_back(a[0]);
    for(int i=1;i<n;i++) {
        if(a[i]-a[i-1] <= 2*l) {
            if(pushzero) v2.push_back(a[i]), pushzero = false;
            else v1.push_back(a[i]), pushzero = true;
        }
        else v1.push_back(a[i]);
    }
    int iter1 = 0, iter2 = 0;
    while(iter1 < v1.size() || iter2 < v2.size()) {
        //printf("%d %d\n",v1[iter1], v2[iter2]);
        if(iter1 == v1.size()) {
            ans += calc(v1[iter1-1], v2[iter2], covered);
            iter2 ++;
        }
        else if(iter2 == v2.size()) {
            ans += calc(v1[iter1], v2[iter2-1], covered);
            iter1 ++;
        }
        else {
            ans += calc(v1[iter1], v2[iter2], covered);
            if(v1[iter1] < v2[iter2]) iter1 ++;
            else iter2 ++;
        }
    }
    printf("%d\n",ans);
}
int main() {
    input();
    solve();
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 1796 KB Output isn't correct
2 Runtime error 0 ms 1792 KB SIGSEGV Segmentation fault
3 Incorrect 0 ms 1796 KB Output isn't correct
4 Incorrect 0 ms 1796 KB Output isn't correct
5 Incorrect 0 ms 1796 KB Output isn't correct
6 Runtime error 0 ms 1792 KB SIGSEGV Segmentation fault
7 Incorrect 0 ms 1796 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 1796 KB Output isn't correct
2 Incorrect 0 ms 1796 KB Output isn't correct
3 Incorrect 0 ms 1796 KB Output isn't correct
4 Incorrect 0 ms 1796 KB Output isn't correct
5 Incorrect 0 ms 1796 KB Output isn't correct
6 Incorrect 0 ms 1796 KB Output isn't correct
7 Incorrect 0 ms 1796 KB Output isn't correct
8 Incorrect 0 ms 1796 KB Output isn't correct
9 Incorrect 0 ms 1796 KB Output isn't correct
10 Incorrect 0 ms 1796 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 30 ms 2824 KB Output isn't correct
2 Incorrect 45 ms 2824 KB Output isn't correct
3 Incorrect 32 ms 2824 KB Output isn't correct
4 Incorrect 19 ms 2312 KB Output isn't correct
5 Incorrect 45 ms 2824 KB Output isn't correct
6 Incorrect 32 ms 2824 KB Output isn't correct
7 Incorrect 0 ms 1796 KB Output isn't correct
8 Incorrect 32 ms 2824 KB Output isn't correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 40 ms 3212 KB Output isn't correct
2 Incorrect 35 ms 3212 KB Output isn't correct
3 Incorrect 37 ms 3212 KB Output isn't correct
4 Incorrect 25 ms 2444 KB Output isn't correct
5 Incorrect 30 ms 2568 KB Output isn't correct
6 Incorrect 33 ms 2444 KB Output isn't correct
7 Incorrect 37 ms 2868 KB Output isn't correct
8 Incorrect 2 ms 1796 KB Output isn't correct
9 Incorrect 42 ms 3212 KB Output isn't correct
10 Incorrect 15 ms 2076 KB Output isn't correct
11 Incorrect 37 ms 3212 KB Output isn't correct
12 Incorrect 17 ms 2444 KB Output isn't correct
13 Incorrect 34 ms 2444 KB Output isn't correct
14 Incorrect 31 ms 2444 KB Output isn't correct
15 Incorrect 26 ms 2720 KB Output isn't correct