# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
830867 | 2023-08-19T11:59:38 Z | exodus_ | Lightning Rod (NOI18_lightningrod) | C++14 | 2000 ms | 156260 KB |
#include<bits/stdc++.h> #define ll long long #define fi first #define se second using namespace std; const int nmax = 1e7+7; struct point { int x; int y; int dex; }; bool cmp(point &a, point&b) { return (a.y > b.y); } int par[nmax]; bool soada[nmax] = {false}; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; cin >> N; vector<point>tik(N+1); bool sub1=true; bool sub6=true; int hit=0; int hyone=0; for(int i=1; i<=N; i++) par[i]=i; for(int i=0; i<N; i++) { cin >> tik[i].x >> tik[i].y; if(i>0 && tik[i].x!=tik[i-1].x) hit++; if(tik[i].y==1) hyone++; if(tik[i].y != 1) sub1=false; if(tik[i].y > 1 || tik[i].x!=i+1) sub6=false; } if(sub1==true) { cout << hit+1 << endl; return 0; } if(sub6==true) { int i=0; int hibay=0; while(i<N) { if(tik[i].y==0) { if((i-1 >= 0 && tik[i-1].y==0) && (i+1<N && tik[i+1].y==0)) hibay++; } i++; } if(tik[0].y==0 && tik[1].y==0) hibay++; if(tik[N-1].y==0 && tik[N-2].y==0) hibay++; int cost = hyone+hibay; cout << cost << endl; return 0; } sort(tik.begin(), tik.end(), cmp); for(int i=0; i<N; i++) { tik[i].dex = i+1; } vector<int>dafter; while(!tik.empty()) { dafter.push_back(0); for(int i=1; i<tik.size(); i++) { if(abs(tik[0].x - tik[i].x) <= tik[0].y-tik[i].y) { par[tik[i].dex] = tik[0].dex; //cout << "par[" << tik[i].dex << "] = " << tik[0].dex << endl; dafter.push_back(i); } } int kur = 0; for(int j=0; j<dafter.size(); j++) { //cout << "dafter " << dafter[j] << endl; tik.erase(tik.begin()+dafter[j]-kur); kur++; } dafter.clear(); } int cost = 0; for(int i=1; i<=N; i++) { if(soada[par[i]]==false) { cost++; soada[par[i]]=true; } } cout << cost << endl; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1137 ms | 152072 KB | Output is correct |
2 | Correct | 1127 ms | 151616 KB | Output is correct |
3 | Correct | 1101 ms | 147540 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 1 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 1 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 0 ms | 212 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 0 ms | 212 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 1 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 0 ms | 212 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 0 ms | 212 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 1 ms | 340 KB | Output is correct |
13 | Correct | 6 ms | 340 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 340 KB | Output is correct |
3 | Correct | 0 ms | 212 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 212 KB | Output is correct |
6 | Correct | 1 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 0 ms | 212 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 0 ms | 212 KB | Output is correct |
11 | Correct | 1 ms | 340 KB | Output is correct |
12 | Correct | 1 ms | 340 KB | Output is correct |
13 | Correct | 6 ms | 340 KB | Output is correct |
14 | Execution timed out | 2072 ms | 4376 KB | Time limit exceeded |
15 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1130 ms | 156260 KB | Output is correct |
2 | Correct | 1151 ms | 156148 KB | Output is correct |
3 | Correct | 1116 ms | 152400 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1137 ms | 152072 KB | Output is correct |
2 | Correct | 1127 ms | 151616 KB | Output is correct |
3 | Correct | 1101 ms | 147540 KB | Output is correct |
4 | Correct | 0 ms | 212 KB | Output is correct |
5 | Correct | 0 ms | 340 KB | Output is correct |
6 | Correct | 0 ms | 212 KB | Output is correct |
7 | Correct | 0 ms | 212 KB | Output is correct |
8 | Correct | 0 ms | 212 KB | Output is correct |
9 | Correct | 1 ms | 212 KB | Output is correct |
10 | Correct | 0 ms | 212 KB | Output is correct |
11 | Correct | 0 ms | 212 KB | Output is correct |
12 | Correct | 1 ms | 212 KB | Output is correct |
13 | Correct | 0 ms | 212 KB | Output is correct |
14 | Correct | 1 ms | 340 KB | Output is correct |
15 | Correct | 1 ms | 340 KB | Output is correct |
16 | Correct | 6 ms | 340 KB | Output is correct |
17 | Execution timed out | 2072 ms | 4376 KB | Time limit exceeded |
18 | Halted | 0 ms | 0 KB | - |