Submission #3441894
Source Code Expand
#include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> #include<functional> #include<vector> #include<queue> #include<stack> #include<set> #include<map> using namespace std; #define MOD 1000000007 #define f(i,n) for(int i=0;i<int(n);i++) #define N (1<<18) int a[(2 * N)]; void init(void){ f(i, 2 * N)a[i] = -MOD; return; } void change(int k, int x){ k += N; if (a[k]<x)a[k] = x; else return; while (k > 1){ k = k / 2; a[k] = max(a[2 * k], a[2 * k + 1]); } return; } //探索(0<=l<r<=n)範囲は(l<=x<r)初期は(l,r,1,0,N) int max_search(int l, int r, int k, int sl, int sr){ if (r <= sl || sr <= l)return -MOD; else if (l <= sl&&sr <= r) return a[k]; else{ int vl = max_search(l, r, 2 * k, sl, (sl + sr) / 2); int vr = max_search(l, r, 2 * k + 1, (sl + sr) / 2, sr); return max(vl, vr); } } int main(void){ int b[N]; int s[N]; vector<pair<int, int> >qq; int nx = 0; int n; int m; int x, y, z; int xx; scanf("%d", &n); init(); b[0] = 0; s[0] = b[0]; f(i, n){ scanf("%d", &x); if (x == 0){ b[i + 1] = b[i] + 1; s[i + 1] = b[i + 1]; } else{ b[i + 1] = b[i]; s[i + 1] = b[i + 1]; } } scanf("%d", &m); f(i, m){ scanf("%d %d", &x, &y); qq.push_back(make_pair(x, y)); } sort(qq.begin(), qq.end()); for (int i = 1; i <= n; i++){ if (b[i - 1]<b[i]){ s[i] = max(s[i - 1] + 1, s[i]); } else s[i] = max(s[i - 1], s[i]); if (nx < qq.size()){ while (qq[nx].first <= i){ xx = qq[nx].second; x = s[i - 1] + (xx - b[xx]) - (i - 1 - b[i - 1]); y = max_search(i, xx + 1, 1, 0, N); if (y > (-MOD)){ y += (xx - b[xx]); z = max(x, y); } else z = x; s[xx] = max(s[xx], z); change(xx, z - (xx - b[xx])); nx++; if (nx >= qq.size())break; } } } printf("%d\n", n-s[n]); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - NRE |
User | ptrs |
Language | C++14 (GCC 5.4.1) |
Score | 1000 |
Code Size | 1946 Byte |
Status | AC |
Exec Time | 154 ms |
Memory | 6004 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:58:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ ./Main.cpp:63:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &x); ^ ./Main.cpp:73:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &m); ^ ./Main.cpp:75:25: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d", &x, &y); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1000 / 1000 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example_0, example_1, example_2, example_3, example_4, example_5, example_6 |
All | cent_0, cent_1, cent_2, cent_3, cent_4, cent_5, cent_6, cent_7, cent_8, cent_9, example_0, example_1, example_2, example_3, example_4, example_5, example_6, full_0, full_1, full_10, full_11, full_12, full_13, full_14, full_15, full_16, full_17, full_18, full_19, full_2, full_3, full_4, full_5, full_6, full_7, full_8, full_9, maxrand_0, maxrand_1, maxrand_10, maxrand_11, maxrand_12, maxrand_13, maxrand_14, maxrand_15, maxrand_16, maxrand_17, maxrand_18, maxrand_19, maxrand_2, maxrand_20, maxrand_21, maxrand_22, maxrand_23, maxrand_24, maxrand_25, maxrand_26, maxrand_27, maxrand_28, maxrand_29, maxrand_3, maxrand_4, maxrand_5, maxrand_6, maxrand_7, maxrand_8, maxrand_9, rand_0, rand_1, rand_10, rand_11, rand_12, rand_13, rand_14, rand_15, rand_16, rand_17, rand_18, rand_19, rand_2, rand_3, rand_4, rand_5, rand_6, rand_7, rand_8, rand_9, small_0, small_1, small_2, small_3, small_4, small_5, small_6, small_7, small_8, small_9, smallwidth_0, smallwidth_1, smallwidth_10, smallwidth_11, smallwidth_12, smallwidth_13, smallwidth_14, smallwidth_15, smallwidth_16, smallwidth_17, smallwidth_18, smallwidth_19, smallwidth_2, smallwidth_20, smallwidth_21, smallwidth_22, smallwidth_23, smallwidth_24, smallwidth_25, smallwidth_26, smallwidth_27, smallwidth_28, smallwidth_29, smallwidth_3, smallwidth_4, smallwidth_5, smallwidth_6, smallwidth_7, smallwidth_8, smallwidth_9 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
cent_0 | AC | 144 ms | 6004 KB |
cent_1 | AC | 151 ms | 6004 KB |
cent_2 | AC | 139 ms | 6004 KB |
cent_3 | AC | 147 ms | 6004 KB |
cent_4 | AC | 148 ms | 6004 KB |
cent_5 | AC | 139 ms | 6004 KB |
cent_6 | AC | 146 ms | 6004 KB |
cent_7 | AC | 146 ms | 6004 KB |
cent_8 | AC | 151 ms | 6004 KB |
cent_9 | AC | 139 ms | 6004 KB |
example_0 | AC | 2 ms | 2304 KB |
example_1 | AC | 2 ms | 2304 KB |
example_2 | AC | 2 ms | 2304 KB |
example_3 | AC | 2 ms | 2304 KB |
example_4 | AC | 2 ms | 2304 KB |
example_5 | AC | 2 ms | 2304 KB |
example_6 | AC | 2 ms | 2304 KB |
full_0 | AC | 20 ms | 3840 KB |
full_1 | AC | 143 ms | 6004 KB |
full_10 | AC | 21 ms | 3840 KB |
full_11 | AC | 143 ms | 6004 KB |
full_12 | AC | 21 ms | 3840 KB |
full_13 | AC | 143 ms | 6004 KB |
full_14 | AC | 21 ms | 3840 KB |
full_15 | AC | 143 ms | 6004 KB |
full_16 | AC | 20 ms | 3840 KB |
full_17 | AC | 143 ms | 6004 KB |
full_18 | AC | 21 ms | 3840 KB |
full_19 | AC | 143 ms | 6004 KB |
full_2 | AC | 21 ms | 3840 KB |
full_3 | AC | 143 ms | 6004 KB |
full_4 | AC | 21 ms | 3840 KB |
full_5 | AC | 144 ms | 6004 KB |
full_6 | AC | 20 ms | 3840 KB |
full_7 | AC | 144 ms | 6004 KB |
full_8 | AC | 20 ms | 3840 KB |
full_9 | AC | 144 ms | 6004 KB |
maxrand_0 | AC | 21 ms | 3840 KB |
maxrand_1 | AC | 153 ms | 6004 KB |
maxrand_10 | AC | 21 ms | 3840 KB |
maxrand_11 | AC | 152 ms | 6004 KB |
maxrand_12 | AC | 21 ms | 3840 KB |
maxrand_13 | AC | 151 ms | 6004 KB |
maxrand_14 | AC | 21 ms | 3840 KB |
maxrand_15 | AC | 153 ms | 6004 KB |
maxrand_16 | AC | 21 ms | 3840 KB |
maxrand_17 | AC | 152 ms | 6004 KB |
maxrand_18 | AC | 21 ms | 3840 KB |
maxrand_19 | AC | 151 ms | 6004 KB |
maxrand_2 | AC | 20 ms | 3840 KB |
maxrand_20 | AC | 21 ms | 3840 KB |
maxrand_21 | AC | 154 ms | 6004 KB |
maxrand_22 | AC | 21 ms | 3840 KB |
maxrand_23 | AC | 152 ms | 6004 KB |
maxrand_24 | AC | 21 ms | 3840 KB |
maxrand_25 | AC | 151 ms | 6004 KB |
maxrand_26 | AC | 21 ms | 3840 KB |
maxrand_27 | AC | 151 ms | 6004 KB |
maxrand_28 | AC | 20 ms | 3840 KB |
maxrand_29 | AC | 151 ms | 6004 KB |
maxrand_3 | AC | 151 ms | 6004 KB |
maxrand_4 | AC | 20 ms | 3840 KB |
maxrand_5 | AC | 151 ms | 6004 KB |
maxrand_6 | AC | 21 ms | 3840 KB |
maxrand_7 | AC | 151 ms | 6004 KB |
maxrand_8 | AC | 20 ms | 3840 KB |
maxrand_9 | AC | 151 ms | 6004 KB |
rand_0 | AC | 151 ms | 6004 KB |
rand_1 | AC | 88 ms | 4852 KB |
rand_10 | AC | 152 ms | 6004 KB |
rand_11 | AC | 51 ms | 3836 KB |
rand_12 | AC | 151 ms | 6004 KB |
rand_13 | AC | 111 ms | 5492 KB |
rand_14 | AC | 151 ms | 6004 KB |
rand_15 | AC | 71 ms | 3704 KB |
rand_16 | AC | 151 ms | 6004 KB |
rand_17 | AC | 85 ms | 4088 KB |
rand_18 | AC | 151 ms | 6004 KB |
rand_19 | AC | 131 ms | 5876 KB |
rand_2 | AC | 151 ms | 6004 KB |
rand_3 | AC | 125 ms | 4852 KB |
rand_4 | AC | 151 ms | 6004 KB |
rand_5 | AC | 87 ms | 4596 KB |
rand_6 | AC | 151 ms | 6004 KB |
rand_7 | AC | 97 ms | 5108 KB |
rand_8 | AC | 152 ms | 6004 KB |
rand_9 | AC | 30 ms | 3840 KB |
small_0 | AC | 2 ms | 2304 KB |
small_1 | AC | 2 ms | 2304 KB |
small_2 | AC | 2 ms | 2304 KB |
small_3 | AC | 2 ms | 2304 KB |
small_4 | AC | 2 ms | 2304 KB |
small_5 | AC | 2 ms | 2304 KB |
small_6 | AC | 2 ms | 2304 KB |
small_7 | AC | 2 ms | 2304 KB |
small_8 | AC | 2 ms | 2304 KB |
small_9 | AC | 2 ms | 2304 KB |
smallwidth_0 | AC | 21 ms | 3840 KB |
smallwidth_1 | AC | 136 ms | 6004 KB |
smallwidth_10 | AC | 20 ms | 3840 KB |
smallwidth_11 | AC | 120 ms | 6004 KB |
smallwidth_12 | AC | 21 ms | 3840 KB |
smallwidth_13 | AC | 136 ms | 6004 KB |
smallwidth_14 | AC | 20 ms | 3840 KB |
smallwidth_15 | AC | 120 ms | 6004 KB |
smallwidth_16 | AC | 20 ms | 3840 KB |
smallwidth_17 | AC | 137 ms | 6004 KB |
smallwidth_18 | AC | 21 ms | 3840 KB |
smallwidth_19 | AC | 120 ms | 6004 KB |
smallwidth_2 | AC | 21 ms | 3840 KB |
smallwidth_20 | AC | 21 ms | 3840 KB |
smallwidth_21 | AC | 137 ms | 6004 KB |
smallwidth_22 | AC | 20 ms | 3840 KB |
smallwidth_23 | AC | 121 ms | 6004 KB |
smallwidth_24 | AC | 21 ms | 3840 KB |
smallwidth_25 | AC | 137 ms | 6004 KB |
smallwidth_26 | AC | 20 ms | 3840 KB |
smallwidth_27 | AC | 120 ms | 6004 KB |
smallwidth_28 | AC | 20 ms | 3840 KB |
smallwidth_29 | AC | 136 ms | 6004 KB |
smallwidth_3 | AC | 121 ms | 6004 KB |
smallwidth_4 | AC | 20 ms | 3840 KB |
smallwidth_5 | AC | 136 ms | 6004 KB |
smallwidth_6 | AC | 20 ms | 3840 KB |
smallwidth_7 | AC | 120 ms | 6004 KB |
smallwidth_8 | AC | 21 ms | 3840 KB |
smallwidth_9 | AC | 136 ms | 6004 KB |