Submission #415208

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4152082021-05-31 16:49:20tengiz05The Xana coup (BOI21_xanadu)C++17
100 / 100
154 ms39368 KiB
#include <bits/stdc++.h>
using i64 = long long;
constexpr int N = 1e5;
i64 dp[N][2][2], a[N];
std::vector<int> e[N];
struct opt{
std::vector<i64> pr;
i64 sum;
opt(std::vector<i64> a, std::vector<i64> b) : pr(a.size() + 1), sum(0) {
std::vector<i64> v;
for (int i = 0; i < int(a.size()); i++) {
v.push_back(-a[i] + b[i]);
}
sort(v.begin(), v.end());
for (int i = 0; i < int(v.size()); i++) {
sum += a[i];
pr[i + 1] = pr[i] + v[i];
}
}
i64 odd() {
i64 res = 1e9;
for (int i = 1; i < pr.size(); i += 2) {
res = std::min(res, pr[i] + sum);
}
return res;
}
i64 even() {
i64 res = 1e9;
for (int i = 0; i < pr.size(); i += 2) {
res = std::min(res, pr[i] + sum);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

xanadu.cpp: In member function 'i64 opt::odd()':
xanadu.cpp:22:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |         for (int i = 1; i < pr.size(); i += 2) {
      |                         ~~^~~~~~~~~~~
xanadu.cpp: In member function 'i64 opt::even()':
xanadu.cpp:29:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         for (int i = 0; i < pr.size(); i += 2) {
      |                         ~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...