ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#215332 | #2713. 8.2t2 | ThySecret | 100 | 168ms | 6272kb | C++11 | 1.6kb | 2024-11-28 19:05:35 | 2024-11-28 23:10:27 |
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
// #define x first
// #define y second
#define File(a) freopen(a".in", "r", stdin), freopen(a".out", "w", stdout)
inline void debug() { cerr << '\n'; }
template<typename Type, typename... Other>
inline void debug(const Type& x, const Other&... y) { cerr << x << ' '; debug(y...); }
#define DEBUG(a...) cerr << "[" << #a << "] = ", debug(a);
typedef long long LL;
typedef pair<int, int> PII;
const int N = 3000010;
const int INF = 0x3f3f3f3f;
template<typename Type>
inline void read(Type &res)
{
res = 0;
int ch = getchar(), flag = 0;
while (!isdigit(ch)) flag |= ch == '-', ch = getchar();
while (isdigit(ch)) res = (res << 3) + (res << 1) + (ch ^ 48), ch = getchar();
res = flag ? -res : res;
}
template<typename Type, typename... Other>
inline void read(Type &res, Other&... y) { read(res), read(y...); }
int n, m;
int a[N], b[N], ans;
int dp[N], idx[N], idy[N];
signed main()
{
read(n, m);
for (int i = 1; i <= n; i ++) read(a[i]);
for (int i = 1; i <= n; i ++) read(b[i]), b[i] += a[i];
sort(a + 1, a + 1 + n, greater<int>()), sort(b + 1, b + 1 + n, greater<int>());
idx[0] = idy[0] = 1;
for (int i = 0; i <= m; i ++)
{
ans ^= dp[i];
if (idx[i] <= n && dp[i] + a[idx[i]] > dp[i + 1])
dp[i + 1] = dp[i] + a[idx[i]], idx[i + 1] = idx[i] + 1, idy[i + 1] = idy[i];
if (idy[i] <= n && dp[i] + b[idy[i]] > dp[i + 2])
dp[i + 2] = dp[i] + b[idy[i]], idy[i + 2] = idy[i] + 1, idx[i + 2] = idx[i];
}
cout << ans << '\n';
}
详细
小提示:点击横条可展开更详细的信息
Test #1:
score: 10
Accepted
time: 0ms
memory: 1196kb
input:
4 10 2 2 4 8 8 4 7 10
output:
2
result:
ok 1 number(s): "2"
Test #2:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
5 10 51072389 300657765 633439665 787090487 68456665 196385267 67864372 385977125 213928095 324494080
output:
3719844854
result:
ok 1 number(s): "3719844854"
Test #3:
score: 10
Accepted
time: 0ms
memory: 1192kb
input:
5 10 48720179 139181569 338164905 149648143 77222193 187724219 91625887 540142777 43334953 184586388
output:
215635088
result:
ok 1 number(s): "215635088"
Test #4:
score: 10
Accepted
time: 29ms
memory: 5164kb
input:
100000 102662 33421051 125633985 365251021 255717315 262377226 360896081 5951202 90071401 154444767 ...
output:
69628185742891
result:
ok 1 number(s): "69628185742891"
Test #5:
score: 10
Accepted
time: 27ms
memory: 5168kb
input:
100000 102838 588484254 69882126 151341881 500364775 68104321 134809939 50886121 98623841 274710921 ...
output:
2211168290969
result:
ok 1 number(s): "2211168290969"
Test #6:
score: 10
Accepted
time: 27ms
memory: 5168kb
input:
100000 102858 816229225 31491762 141788824 11587861 40202296 167103151 76959748 111706177 185028195 ...
output:
6040329651388
result:
ok 1 number(s): "6040329651388"
Test #7:
score: 10
Accepted
time: 30ms
memory: 2760kb
input:
100000 100 12830259 71768257 32489793 11032029 534815873 25056247 9333295 338811835 392555485 787185...
output:
4970387228
result:
ok 1 number(s): "4970387228"
Test #8:
score: 10
Accepted
time: 23ms
memory: 2760kb
input:
100000 100 72601214 53610670 93861411 367396001 45683503 4337367 98950041 888815737 409387861 106118...
output:
134182801545
result:
ok 1 number(s): "134182801545"
Test #9:
score: 10
Accepted
time: 16ms
memory: 6272kb
input:
100000 150000 667 605 113 157 314 281 1 234 801 121 561 414 25 953 434 233 421 601 993 969 209 695 7...
output:
33097015
result:
ok 1 number(s): "33097015"
Test #10:
score: 10
Accepted
time: 16ms
memory: 6272kb
input:
100000 150000 96 945 103 451 167 433 537 867 781 656 145 507 381 960 753 700 93 133 122 952 393 985 ...
output:
7610868
result:
ok 1 number(s): "7610868"