Submission #14360

# Submission time Handle Problem Language Result Execution time Memory
14360 2015-05-12T12:39:12 Z Fakeable 정전 (OJUZ10_blackout) C++
0 / 100
54 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 max(rear - front,0);
}
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;
}
# Verdict Execution time Memory Grader output
1 Runtime error 0 ms 1792 KB SIGSEGV Segmentation fault
2 Incorrect 0 ms 1796 KB Output isn't correct
3 Incorrect 0 ms 1796 KB Output isn't correct
4 Runtime error 0 ms 1792 KB SIGSEGV Segmentation fault
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
# Verdict Execution time Memory Grader output
1 Correct 0 ms 1796 KB Output is correct
2 Incorrect 0 ms 1796 KB Output isn't correct
3 Correct 0 ms 1796 KB Output is correct
4 Correct 0 ms 1796 KB Output is correct
5 Incorrect 0 ms 1796 KB Output isn't correct
6 Incorrect 0 ms 1796 KB Output isn't correct
7 Correct 0 ms 1796 KB Output is correct
8 Correct 0 ms 1796 KB Output is correct
9 Correct 0 ms 1796 KB Output is correct
10 Correct 0 ms 1796 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 43 ms 2824 KB Output isn't correct
2 Incorrect 50 ms 2824 KB Output isn't correct
3 Incorrect 33 ms 2824 KB Output isn't correct
4 Incorrect 20 ms 2312 KB Output isn't correct
5 Incorrect 34 ms 2824 KB Output isn't correct
6 Incorrect 0 ms 1796 KB Output isn't correct
7 Incorrect 25 ms 2824 KB Output isn't correct
8 Incorrect 51 ms 2824 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 25 ms 2444 KB Output is correct
2 Correct 25 ms 2444 KB Output is correct
3 Incorrect 53 ms 3212 KB Output isn't correct
4 Correct 44 ms 3212 KB Output is correct
5 Incorrect 44 ms 3212 KB Output isn't correct
6 Correct 17 ms 2076 KB Output is correct
7 Incorrect 52 ms 2568 KB Output isn't correct
8 Correct 27 ms 2444 KB Output is correct
9 Correct 21 ms 2444 KB Output is correct
10 Correct 52 ms 3212 KB Output is correct
11 Incorrect 41 ms 3212 KB Output isn't correct
12 Incorrect 36 ms 2444 KB Output isn't correct
13 Incorrect 0 ms 1796 KB Output isn't correct
14 Incorrect 34 ms 2720 KB Output isn't correct
15 Incorrect 54 ms 2868 KB Output isn't correct