Submission #527880
Source Code Expand
/*{{{*/ #include <cassert> #include <cctype> #include <climits> #include <cmath> #include <cstdint> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <functional> #include <bitset> #include <deque> #include <list> #include <map> #include <queue> #include <set> #include <tuple> #include <unordered_map> #include <unordered_set> #include <vector> #include <iostream> #include <string> #include <sstream> using namespace std; typedef int8_t sbyte; typedef uint8_t byte; typedef uint16_t ushort; typedef uint32_t uint; typedef int64_t i64; typedef uint64_t u64; template<class T> static inline T ABS(T x) {return x < 0 ? -x : x;} template<class T> static inline void MAZ(T &a, const T &b) {if(a < b) a = b;} template<class T> static inline void MIZ(T &a, const T &b) {if(b < a) a = b;} /*}}}*/ static vector<pair<int, int>> K, A; static i64 DP[301][301]; static i64 solve() { int nk = K.size(), na = A.size(); for(auto i = nk - 1; i >= 0; i--) { for(auto j = na - 1; j >= 0; j--) { DP[i][j] = max(max(DP[i + 1][j], DP[i][j + 1]), -K[i].first + (i64)A[j].first * min(K[i].second, A[j].second) + DP[i + 1][j + 1]); } } return DP[0][0]; } int main() { int n; scanf("%d", &n); vector<pair<int, int>> r(n); auto h = 0LL; auto m = 0; for(auto i = 0; i < n; i++) { scanf("%d%d", &r[i].first, &r[i].second); if(r[i].first == 2) { h += r[i].second; m++; } } for(auto i = 0; i < n; ) { if(r[i].first == 2) { m--; i++; continue; } vector<int> ks, as; do { if(r[i].first == 0) { ks.push_back(r[i].second); } else { as.push_back(r[i].second); } } while(++i < n && r[i].first != 2); sort(begin(ks), end(ks)); sort(begin(as), end(as), greater<int>()); for(auto k : ks) K.emplace_back(k, m); for(auto a : as) A.emplace_back(a, m); } printf("%lld\n", h - solve()); return 0; }
Submission Info
Submission Time | |
---|---|
Task | H - Dungeon |
User | arosusti |
Language | C++11 (GCC 4.8.1) |
Score | 0 |
Code Size | 1956 Byte |
Status | WA |
Exec Time | 36 ms |
Memory | 1792 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:53:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ ./Main.cpp:57:43: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &r[i].first, &r[i].second); ^
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 100 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | colorful1_01.txt, colorful1_02.txt, colorful1_03.txt, colorful2_01.txt, colorful2_02.txt, colorful2_03.txt, colorful3_01.txt, colorful3_02.txt, colorful3_03.txt, corner_01.txt, corner_02.txt, corner_03.txt, corner_04.txt, corner_05.txt, corner_06.txt, interval_01.txt, interval_02.txt, interval_03.txt, interval_04.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_exp_01.txt, random_exp_02.txt, random_exp_03.txt, random_max_01.txt, random_max_02.txt, random_max_03.txt, random_max_04.txt, random_max_05.txt, random_max_06.txt, random_max_07.txt, random_max_08.txt, random_max_09.txt, random_max_10.txt, random_select_01.txt, random_select_02.txt, random_select_03.txt, random_select_04.txt, random_select_05.txt, random_select_06.txt, random_select_07.txt, random_select_08.txt, random_select_09.txt, random_select_10.txt, random_small_01.txt, random_small_02.txt, random_small_03.txt, random_small_04.txt, random_small_05.txt, random_small_06.txt, random_small_07.txt, random_small_08.txt, random_small_09.txt, random_small_10.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
colorful1_01.txt | WA | 30 ms | 1372 KB |
colorful1_02.txt | WA | 30 ms | 1304 KB |
colorful1_03.txt | WA | 29 ms | 1308 KB |
colorful2_01.txt | WA | 30 ms | 1784 KB |
colorful2_02.txt | WA | 32 ms | 1760 KB |
colorful2_03.txt | WA | 32 ms | 1688 KB |
colorful3_01.txt | AC | 32 ms | 1756 KB |
colorful3_02.txt | AC | 33 ms | 1688 KB |
colorful3_03.txt | AC | 34 ms | 1752 KB |
corner_01.txt | AC | 29 ms | 1044 KB |
corner_02.txt | AC | 31 ms | 980 KB |
corner_03.txt | AC | 31 ms | 984 KB |
corner_04.txt | AC | 32 ms | 1232 KB |
corner_05.txt | AC | 31 ms | 988 KB |
corner_06.txt | AC | 32 ms | 1052 KB |
interval_01.txt | AC | 32 ms | 1192 KB |
interval_02.txt | AC | 32 ms | 1752 KB |
interval_03.txt | WA | 32 ms | 1752 KB |
interval_04.txt | WA | 30 ms | 1300 KB |
random_01.txt | AC | 31 ms | 1684 KB |
random_02.txt | WA | 30 ms | 1744 KB |
random_03.txt | AC | 31 ms | 1792 KB |
random_04.txt | AC | 36 ms | 1748 KB |
random_05.txt | AC | 31 ms | 1684 KB |
random_06.txt | AC | 32 ms | 1756 KB |
random_exp_01.txt | AC | 31 ms | 1748 KB |
random_exp_02.txt | WA | 28 ms | 1048 KB |
random_exp_03.txt | AC | 32 ms | 1048 KB |
random_max_01.txt | WA | 31 ms | 1688 KB |
random_max_02.txt | WA | 32 ms | 1688 KB |
random_max_03.txt | WA | 31 ms | 1680 KB |
random_max_04.txt | WA | 31 ms | 1744 KB |
random_max_05.txt | WA | 33 ms | 1756 KB |
random_max_06.txt | WA | 34 ms | 1684 KB |
random_max_07.txt | WA | 31 ms | 1756 KB |
random_max_08.txt | WA | 30 ms | 1688 KB |
random_max_09.txt | WA | 30 ms | 1688 KB |
random_max_10.txt | WA | 29 ms | 1684 KB |
random_select_01.txt | WA | 28 ms | 1308 KB |
random_select_02.txt | WA | 30 ms | 1300 KB |
random_select_03.txt | WA | 29 ms | 1308 KB |
random_select_04.txt | WA | 28 ms | 1308 KB |
random_select_05.txt | WA | 30 ms | 1300 KB |
random_select_06.txt | WA | 30 ms | 1360 KB |
random_select_07.txt | WA | 28 ms | 1308 KB |
random_select_08.txt | WA | 29 ms | 1388 KB |
random_select_09.txt | WA | 29 ms | 1304 KB |
random_select_10.txt | WA | 29 ms | 1304 KB |
random_small_01.txt | AC | 28 ms | 1056 KB |
random_small_02.txt | WA | 28 ms | 1044 KB |
random_small_03.txt | WA | 28 ms | 1052 KB |
random_small_04.txt | WA | 27 ms | 1060 KB |
random_small_05.txt | WA | 28 ms | 1172 KB |
random_small_06.txt | WA | 29 ms | 1300 KB |
random_small_07.txt | AC | 30 ms | 1236 KB |
random_small_08.txt | WA | 30 ms | 1300 KB |
random_small_09.txt | WA | 31 ms | 1304 KB |
random_small_10.txt | WA | 30 ms | 1300 KB |
sample_01.txt | AC | 27 ms | 984 KB |
sample_02.txt | AC | 31 ms | 1052 KB |
sample_03.txt | AC | 30 ms | 924 KB |