Submission #1230012
Source Code Expand
#include <iostream>
#include <cstdio>
#include <map>
#include <set>
#include <queue>
#include <vector>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#define rep(i,a,b) for(int i = a; i <= b; i++)
#define dep(i,a,b) for(int i = a; i >= b; i--)
#define Rep(i,a) for(int i = 0; i < a; i++)
#define pb(a) push_back(a)
#define mp(a,b) make_pair(a,b)
#define ab(x) ((x) < 0 ? -(x) : (x))
using namespace std;
typedef long long LL;
typedef map<int, int>::iterator mit;
typedef set<int>::iterator sit;
typedef pair<int, int> pii;
#define x first
#define y second
const int N = 1e5 + 10, inf = 5e6 + 10;
bool haveans = true;
int n, c[N], d[N]; pii a[N];
bool side[N];
priority_queue<pii> q;
vector<pii> nd[N];
void init() {
rep(i,1,n)
a[i].x = lower_bound(c + 1, c + (n + 1) + 1, a[i].x) - c,
a[i].y = lower_bound(c + 1, c + (n + 1) + 1, a[i].y) - c;
}
int C[N];
int main() {
scanf("%d",&n);
rep(i,1,n) scanf("%d%d",&a[i].x,&a[i].y);
rep(i,1,n + 1) scanf("%d",c + i);
sort(c + 1, c + (n + 1) + 1);
init();
memset(side, true, sizeof(side));
rep(i,1,n + 1) d[i] = 0;
rep(i,1,n) d[a[i].x - 1]--;
rep(i,1,n) nd[a[i].x - 1].pb(mp(-a[i].y, i));
int delta = 0; d[n + 2] = n;
dep(i,n + 1,1) {
int len = nd[i].size(); Rep(j,len) q.push(nd[i][j]);
d[i] += d[i + 1]; C[i] = d[i] - i;
while (C[i] < -1) {
if (q.empty() || -q.top().x > i) { haveans = false; break; }
else {
pii t = q.top(); q.pop(); side[t.y] = false;
delta++, d[i]++, C[i]++, d[-t.x - 1]--;
}
}
}
rep(i,0,n + 1) d[i] = 0;
rep(i,1,n) d[side[i] ? a[i].x : a[i].y]++;
rep(i,1,n + 1) d[i] += d[i - 1], C[i] = d[i] - i;
while (!q.empty()) q.pop();
rep(i,1,n + 1) nd[i].clear();
rep(i,1,n) if (side[i]) nd[a[i].y].pb(mp(a[i].x - 1, i));
int cur = 0; static int f[N];
rep(i,1,n + 1) {
int len = nd[i].size(); Rep(j,len) q.push(nd[i][j]);
f[i] = f[i - 1];
if (C[i] == -1) {
if (cur < i) {
if (q.empty() || q.top().x < i) f[i] = inf;
else {
pii t = q.top(); q.pop();
cur = t.x;
f[i]++;
}
}
}
}
int q; scanf("%d",&q);
rep(i,1,q) {
int a, b; scanf("%d%d",&a,&b);
a = lower_bound(c + 1, c + (n + 1) + 1, a) - c;
b = lower_bound(c + 1, c + (n + 1) + 1, b) - c;
if (!haveans) printf("-1\n");
else {
int x = f[a - 1] + delta;
int y = f[b - 1] + delta;
int ans = min(x, y + 1);
if (ans > n + 1) printf("-1\n");
else printf("%d\n",n + 1 - ans);
}
}
return 0;
}
Submission Info
Submission Time
2017-04-20 16:15:11+0900
Task
F - Two Faced Cards
User
WuHongxun
Language
C++14 (GCC 5.4.1)
Score
2000
Code Size
2541 Byte
Status
AC
Exec Time
149 ms
Memory
9844 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:38:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d",&n);
^
./Main.cpp:39:42: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rep(i,1,n) scanf("%d%d",&a[i].x,&a[i].y);
^
./Main.cpp:40:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
rep(i,1,n + 1) scanf("%d",c + i);
^
./Main.cpp:86:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int q; scanf("%d",&q);
^
./Main.cpp:88:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int a, b; sca...
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
2000 / 2000
Status
Set Name
Test Cases
Sample
sample_01.txt, sample_02.txt, sample_03.txt
All
sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt, subtask_1_49.txt, subtask_1_50.txt, subtask_1_51.txt, subtask_1_52.txt, subtask_1_53.txt, subtask_1_54.txt, subtask_1_55.txt
Case Name
Status
Exec Time
Memory
sample_01.txt
AC
3 ms
3968 KB
sample_02.txt
AC
3 ms
3968 KB
sample_03.txt
AC
3 ms
3968 KB
subtask_1_01.txt
AC
62 ms
6904 KB
subtask_1_02.txt
AC
70 ms
7032 KB
subtask_1_03.txt
AC
34 ms
5500 KB
subtask_1_04.txt
AC
60 ms
7672 KB
subtask_1_05.txt
AC
46 ms
5368 KB
subtask_1_06.txt
AC
98 ms
7416 KB
subtask_1_07.txt
AC
88 ms
7936 KB
subtask_1_08.txt
AC
93 ms
7796 KB
subtask_1_09.txt
AC
94 ms
8180 KB
subtask_1_10.txt
AC
53 ms
6524 KB
subtask_1_11.txt
AC
44 ms
5888 KB
subtask_1_12.txt
AC
49 ms
5760 KB
subtask_1_13.txt
AC
72 ms
6776 KB
subtask_1_14.txt
AC
40 ms
5884 KB
subtask_1_15.txt
AC
58 ms
6784 KB
subtask_1_16.txt
AC
31 ms
4736 KB
subtask_1_17.txt
AC
138 ms
9720 KB
subtask_1_18.txt
AC
33 ms
5888 KB
subtask_1_19.txt
AC
86 ms
6528 KB
subtask_1_20.txt
AC
104 ms
7804 KB
subtask_1_21.txt
AC
147 ms
9332 KB
subtask_1_22.txt
AC
137 ms
9584 KB
subtask_1_23.txt
AC
148 ms
9336 KB
subtask_1_24.txt
AC
139 ms
9584 KB
subtask_1_25.txt
AC
149 ms
9844 KB
subtask_1_26.txt
AC
140 ms
9204 KB
subtask_1_27.txt
AC
121 ms
8444 KB
subtask_1_28.txt
AC
137 ms
8440 KB
subtask_1_29.txt
AC
146 ms
9840 KB
subtask_1_30.txt
AC
137 ms
9204 KB
subtask_1_31.txt
AC
121 ms
8444 KB
subtask_1_32.txt
AC
139 ms
8440 KB
subtask_1_33.txt
AC
147 ms
9840 KB
subtask_1_34.txt
AC
137 ms
9204 KB
subtask_1_35.txt
AC
120 ms
8448 KB
subtask_1_36.txt
AC
139 ms
8440 KB
subtask_1_37.txt
AC
148 ms
9840 KB
subtask_1_38.txt
AC
136 ms
9204 KB
subtask_1_39.txt
AC
123 ms
8696 KB
subtask_1_40.txt
AC
138 ms
8440 KB
subtask_1_41.txt
AC
132 ms
9076 KB
subtask_1_42.txt
AC
136 ms
9204 KB
subtask_1_43.txt
AC
131 ms
9076 KB
subtask_1_44.txt
AC
130 ms
8564 KB
subtask_1_45.txt
AC
122 ms
8308 KB
subtask_1_46.txt
AC
119 ms
8692 KB
subtask_1_47.txt
AC
119 ms
8564 KB
subtask_1_48.txt
AC
118 ms
8572 KB
subtask_1_49.txt
AC
120 ms
8564 KB
subtask_1_50.txt
AC
111 ms
8180 KB
subtask_1_51.txt
AC
3 ms
3968 KB
subtask_1_52.txt
AC
3 ms
3968 KB
subtask_1_53.txt
AC
3 ms
3968 KB
subtask_1_54.txt
AC
3 ms
3968 KB
subtask_1_55.txt
AC
3 ms
3968 KB