Submission #617017
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <vector> #include <string> #include <algorithm> #include <stack> #include <queue> #include <set> #include <map> using namespace std; #define MOD @ #define ADD(X,Y) ((X) = ((X) + (Y)%MOD) % MOD) typedef long long i64; typedef vector<int> ivec; typedef vector<string> svec; struct segtree { static const int N = 1 << 17; int val[2 * N]; void init() { for (int i = 0; i < 2 * N; ++i) val[i] = 0; } void update(int L, int R, int v) { L += N; R += N; while (L < R) { if (L & 1) val[L++] += v; if (R & 1) val[--R] += v; L >>= 1; R >>= 1; } } int at(int p) { p += N; int ret = 0; while (p) { ret += val[p]; p >>= 1; } return ret; } }; int N, L; int T[101010], P[101010]; segtree seg; int find_positive() { int left = 0, right = L; while (left < right) { int mid = (left + right) / 2; if (seg.at(mid) > 0) { right = mid; } else { left = mid + 1; } } return left; } int main() { scanf("%d%d", &N, &L); for (int i = 0; i < N; ++i) scanf("%d%d", T + i, P + i); for (int i = 0; i < N; ++i) { int i2 = i; while (i2 < N && T[i] == T[i2]) ++i2; reverse(T + i, T + i2); reverse(P + i, P + i2); i = i2 - 1; } seg.init(); i64 top = 0; for (int i = 0; i < N; ++i) { top += P[i]; seg.update(0, P[i], -1); seg.update(P[i], L + 1, 1); int pos = find_positive(); seg.update(pos, L + 1, -1); //printf("%lld, ", top); //for (int j = 0; j < L; ++j) printf("%d ", seg.at(j)); puts(""); } for (int i = 0; i < L; ++i) top += seg.at(i); printf("%lld\n", top); return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - 花火 |
User | semiexp |
Language | C++11 (GCC 4.9.2) |
Score | 160 |
Code Size | 1756 Byte |
Status | AC |
Exec Time | 143 ms |
Memory | 2608 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:74:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &N, &L); ^ ./Main.cpp:75:57: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] for (int i = 0; i < N; ++i) scanf("%d%d", T + i, P + i); ^
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 130 / 130 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt |
Subtask2 | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask1_26.txt, subtask1_27.txt, subtask1_28.txt, subtask1_29.txt, subtask1_30.txt, subtask1_31.txt, subtask1_32.txt, subtask1_33.txt, subtask1_34.txt, subtask1_35.txt, subtask1_36.txt, subtask1_37.txt, subtask1_38.txt, subtask1_39.txt, subtask1_40.txt, subtask1_41.txt, subtask1_42.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask2_26.txt, subtask2_27.txt, subtask2_28.txt, subtask2_29.txt, subtask2_30.txt, subtask2_31.txt, subtask2_32.txt, subtask2_33.txt, subtask2_34.txt, subtask2_35.txt, subtask2_36.txt, subtask2_37.txt, subtask2_38.txt, subtask2_39.txt, subtask2_40.txt, subtask2_41.txt, subtask2_42.txt, subtask2_43.txt, subtask2_44.txt, subtask2_45.txt, subtask2_46.txt, subtask2_47.txt, subtask2_48.txt, subtask2_49.txt, subtask2_50.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 28 ms | 1948 KB |
sample_02.txt | AC | 27 ms | 1832 KB |
sample_03.txt | AC | 28 ms | 1820 KB |
subtask1_01.txt | AC | 29 ms | 1948 KB |
subtask1_02.txt | AC | 30 ms | 1952 KB |
subtask1_03.txt | AC | 29 ms | 1828 KB |
subtask1_04.txt | AC | 28 ms | 1948 KB |
subtask1_05.txt | AC | 28 ms | 1828 KB |
subtask1_06.txt | AC | 28 ms | 1824 KB |
subtask1_07.txt | AC | 29 ms | 1952 KB |
subtask1_08.txt | AC | 29 ms | 1820 KB |
subtask1_09.txt | AC | 29 ms | 1824 KB |
subtask1_10.txt | AC | 30 ms | 1824 KB |
subtask1_11.txt | AC | 30 ms | 1940 KB |
subtask1_12.txt | AC | 30 ms | 1952 KB |
subtask1_13.txt | AC | 28 ms | 1816 KB |
subtask1_14.txt | AC | 30 ms | 1764 KB |
subtask1_15.txt | AC | 28 ms | 1820 KB |
subtask1_16.txt | AC | 29 ms | 1948 KB |
subtask1_17.txt | AC | 31 ms | 1764 KB |
subtask1_18.txt | AC | 28 ms | 1952 KB |
subtask1_19.txt | AC | 31 ms | 1828 KB |
subtask1_20.txt | AC | 29 ms | 1824 KB |
subtask1_21.txt | AC | 29 ms | 1820 KB |
subtask1_22.txt | AC | 29 ms | 1824 KB |
subtask1_23.txt | AC | 29 ms | 1828 KB |
subtask1_24.txt | AC | 29 ms | 1836 KB |
subtask1_25.txt | AC | 28 ms | 1828 KB |
subtask1_26.txt | AC | 28 ms | 1832 KB |
subtask1_27.txt | AC | 30 ms | 1832 KB |
subtask1_28.txt | AC | 29 ms | 1824 KB |
subtask1_29.txt | AC | 27 ms | 1952 KB |
subtask1_30.txt | AC | 29 ms | 1820 KB |
subtask1_31.txt | AC | 29 ms | 1836 KB |
subtask1_32.txt | AC | 29 ms | 1824 KB |
subtask1_33.txt | AC | 29 ms | 1824 KB |
subtask1_34.txt | AC | 29 ms | 1820 KB |
subtask1_35.txt | AC | 29 ms | 1824 KB |
subtask1_36.txt | AC | 29 ms | 1828 KB |
subtask1_37.txt | AC | 27 ms | 1824 KB |
subtask1_38.txt | AC | 27 ms | 1820 KB |
subtask1_39.txt | AC | 28 ms | 1824 KB |
subtask1_40.txt | AC | 28 ms | 1836 KB |
subtask1_41.txt | AC | 28 ms | 1816 KB |
subtask1_42.txt | AC | 28 ms | 1828 KB |
subtask2_01.txt | AC | 143 ms | 2596 KB |
subtask2_02.txt | AC | 142 ms | 2596 KB |
subtask2_03.txt | AC | 142 ms | 2592 KB |
subtask2_04.txt | AC | 142 ms | 2596 KB |
subtask2_05.txt | AC | 143 ms | 2596 KB |
subtask2_06.txt | AC | 116 ms | 2340 KB |
subtask2_07.txt | AC | 89 ms | 2216 KB |
subtask2_08.txt | AC | 63 ms | 2076 KB |
subtask2_09.txt | AC | 60 ms | 2596 KB |
subtask2_10.txt | AC | 64 ms | 2592 KB |
subtask2_11.txt | AC | 71 ms | 2600 KB |
subtask2_12.txt | AC | 83 ms | 2588 KB |
subtask2_13.txt | AC | 122 ms | 2512 KB |
subtask2_14.txt | AC | 118 ms | 2596 KB |
subtask2_15.txt | AC | 121 ms | 2592 KB |
subtask2_16.txt | AC | 125 ms | 2604 KB |
subtask2_17.txt | AC | 131 ms | 2596 KB |
subtask2_18.txt | AC | 141 ms | 2596 KB |
subtask2_19.txt | AC | 52 ms | 2592 KB |
subtask2_20.txt | AC | 56 ms | 2596 KB |
subtask2_21.txt | AC | 62 ms | 2600 KB |
subtask2_22.txt | AC | 72 ms | 2596 KB |
subtask2_23.txt | AC | 111 ms | 2456 KB |
subtask2_24.txt | AC | 124 ms | 2600 KB |
subtask2_25.txt | AC | 124 ms | 2600 KB |
subtask2_26.txt | AC | 124 ms | 2600 KB |
subtask2_27.txt | AC | 129 ms | 2596 KB |
subtask2_28.txt | AC | 135 ms | 2600 KB |
subtask2_29.txt | AC | 105 ms | 2592 KB |
subtask2_30.txt | AC | 115 ms | 2596 KB |
subtask2_31.txt | AC | 127 ms | 2600 KB |
subtask2_32.txt | AC | 130 ms | 2596 KB |
subtask2_33.txt | AC | 132 ms | 2600 KB |
subtask2_34.txt | AC | 122 ms | 2608 KB |
subtask2_35.txt | AC | 67 ms | 2592 KB |
subtask2_36.txt | AC | 76 ms | 2604 KB |
subtask2_37.txt | AC | 112 ms | 2600 KB |
subtask2_38.txt | AC | 128 ms | 2592 KB |
subtask2_39.txt | AC | 121 ms | 2524 KB |
subtask2_40.txt | AC | 54 ms | 2588 KB |
subtask2_41.txt | AC | 59 ms | 2600 KB |
subtask2_42.txt | AC | 105 ms | 2588 KB |
subtask2_43.txt | AC | 128 ms | 2604 KB |
subtask2_44.txt | AC | 140 ms | 2604 KB |
subtask2_45.txt | AC | 98 ms | 2592 KB |
subtask2_46.txt | AC | 96 ms | 2592 KB |
subtask2_47.txt | AC | 101 ms | 2588 KB |
subtask2_48.txt | AC | 29 ms | 1748 KB |
subtask2_49.txt | AC | 27 ms | 1828 KB |
subtask2_50.txt | AC | 30 ms | 1832 KB |