Submission #56576859
Source Code Expand
#include <bits/stdc++.h>
// 针对于线上比赛的 C++ 语言模板
#pragma GCC target("avx")
#pragma GCC optimize("Ofast")
#pragma GCC optimize(3)
#pragma GCC optimize(2)
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")
using namespace std;
//#undef ONLINE_JUDGE // 如果是交互要改动这里
#define int long long
#ifndef ONLINE_JUDGE
#define endl '\n'
#define debug(x, ...) printf(x, __VA_ARGS__)
#else
#define debug(x, ...)
#endif
void clear() {
// 请在这里完善初始化代码
}
int n, k;
pair<int, int> a[200005];
int dp[200005][13];
int dfs(int i, int k) {
if (k == 0) return 1;
if (i == n + 1) return -1ll << 50;
if (dp[i][k] != -1) return dp[i][k];
return dp[i][k] = max(dfs(i + 1, k), dfs(i + 1, k - 1) * a[i].first + a[i].second);
}
bool cmp1(const pair<int, int> &a, const pair<int, int> &b) {
return a.first * b.second + a.second > b.first * a.second + b.second;
}
void solve() {
cin >> n >> k;
int ans = 0;
for (int i = 1; i <= n; ++i) {
cin >> a[i].first >> a[i].second;
}sort(a + 1, a + n + 1, cmp1); memset(dp, 255, sizeof(dp));
ans = max(ans, dfs(1, k));
cout << ans << "\n";
}
/*
abcde+1bcde+2cde+3de+4e+5
*/
signed main() {
#ifdef ONLINE_JUDGE
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#endif
int tc = 1;
// cin >> tc; // 若不启用多测,请注释该内容
while (tc--) {
clear();
solve();
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Maximum Composition |
| User | Cnr |
| Language | C++ 17 (gcc 12.2) |
| Score | 500 |
| Code Size | 3045 Byte |
| Status | AC |
| Exec Time | 71 ms |
| Memory | 36460 KiB |
Compile Error
Main.cpp: In function ‘long long int dfs(long long int, long long int)’:
Main.cpp:68:37: warning: left shift of negative value [-Wshift-negative-value]
68 | if (i == n + 1) return -1ll << 50;
| ~~~~~^~~~~
Judge Result
| Set Name | Sample | All | After Contest | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 500 / 500 | 0 / 0 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 02_maximum_00.txt, 02_maximum_01.txt, 02_maximum_02.txt, 02_maximum_03.txt, 02_maximum_04.txt, 03_handmade_00.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt, 03_handmade_04.txt, 03_handmade_05.txt, 03_handmade_06.txt, 03_handmade_07.txt, 03_handmade_08.txt, 03_handmade_09.txt, 03_handmade_10.txt, 03_handmade_11.txt, 03_handmade_12.txt, 03_handmade_13.txt |
| After Contest | 04_after_contest_00.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 8 ms | 23844 KiB |
| 00_sample_01.txt | AC | 9 ms | 23784 KiB |
| 01_random_00.txt | AC | 42 ms | 35952 KiB |
| 01_random_01.txt | AC | 51 ms | 35400 KiB |
| 01_random_02.txt | AC | 30 ms | 29736 KiB |
| 01_random_03.txt | AC | 39 ms | 30392 KiB |
| 01_random_04.txt | AC | 43 ms | 33324 KiB |
| 01_random_05.txt | AC | 54 ms | 36228 KiB |
| 01_random_06.txt | AC | 34 ms | 31096 KiB |
| 01_random_07.txt | AC | 40 ms | 32696 KiB |
| 01_random_08.txt | AC | 33 ms | 30364 KiB |
| 01_random_09.txt | AC | 53 ms | 34884 KiB |
| 01_random_10.txt | AC | 43 ms | 32508 KiB |
| 01_random_11.txt | AC | 34 ms | 33784 KiB |
| 01_random_12.txt | AC | 56 ms | 36148 KiB |
| 01_random_13.txt | AC | 47 ms | 36068 KiB |
| 01_random_14.txt | AC | 56 ms | 35668 KiB |
| 02_maximum_00.txt | AC | 71 ms | 36240 KiB |
| 02_maximum_01.txt | AC | 69 ms | 36232 KiB |
| 02_maximum_02.txt | AC | 69 ms | 36408 KiB |
| 02_maximum_03.txt | AC | 66 ms | 36336 KiB |
| 02_maximum_04.txt | AC | 69 ms | 36428 KiB |
| 03_handmade_00.txt | AC | 61 ms | 36344 KiB |
| 03_handmade_01.txt | AC | 59 ms | 36268 KiB |
| 03_handmade_02.txt | AC | 60 ms | 36460 KiB |
| 03_handmade_03.txt | AC | 60 ms | 36460 KiB |
| 03_handmade_04.txt | AC | 66 ms | 36272 KiB |
| 03_handmade_05.txt | AC | 68 ms | 36216 KiB |
| 03_handmade_06.txt | AC | 66 ms | 36272 KiB |
| 03_handmade_07.txt | AC | 64 ms | 36240 KiB |
| 03_handmade_08.txt | AC | 43 ms | 36344 KiB |
| 03_handmade_09.txt | AC | 43 ms | 36192 KiB |
| 03_handmade_10.txt | AC | 66 ms | 36268 KiB |
| 03_handmade_11.txt | AC | 62 ms | 36196 KiB |
| 03_handmade_12.txt | AC | 9 ms | 23740 KiB |
| 03_handmade_13.txt | AC | 8 ms | 23772 KiB |
| 04_after_contest_00.txt | AC | 9 ms | 23768 KiB |