QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#126787 | #2784. Aliens | somethingnew# | 0 | 0ms | 3808kb | C++20 | 2.1kb | 2023-07-18 23:51:00 | 2024-07-04 00:45:23 |
Judging History
answer
// ↘ ⬇ ⬇ ⬇ ⬇ ⬇ ↙
// ➡ @roadfromroi ⬅
// ↗ ⬆ ⬆ ⬆ ⬆ ⬆ ↖
#include <iostream>
#include "vector"
#include "algorithm"
#include "numeric"
#include "climits"
#include "iomanip"
#include "bitset"
#include "cmath"
#include "map"
#include "deque"
#include "array"
#include "set"
#include "aliens.h"
#define all(x) x.begin(), x.end()
using namespace std;
typedef long long ll;
ll sq(ll a) {
return a * a;
}
pair<ll, int> reba(int n, vector<pair<int, int>> opp, ll cc) {
vector<int> cnt(n + 1);
vector<ll> dp(n + 1, 1e18);
dp[0] = 0;
for (int i = 0; i < n; ++i) {
for (int j = i + 1; j <= n; ++j) {
ll vl = dp[i] + sq(opp[i].first - opp[j-1].second - 1) + cc;
if (dp[j] > vl) {
dp[j] = vl;
cnt[j] = cnt[i] + 1;
}
}
}
return {dp[n], cnt[n]};
}
ll take_photos(int n, int m, int k, vector<int> re, vector<int> c) {
vector<pair<int, int>> sgg(n);
for (int i = 0; i < n; ++i) {
sgg[i] = {min(re[i], c[i]), max(re[i], c[i])};
}
sort(all(sgg));
vector<pair<int, int>> bb;
for (auto [l, r] : sgg) {
while (!bb.empty() and l == bb.back().first)
bb.pop_back();
if (bb.empty() or bb.back().second < r) {
bb.push_back({l, r});
}
}
sgg = bb;
n = sgg.size();
ll l = 0, r = (ll)1e14;
while (l + 1 < r) {
ll m = l + r >> 1ll;
if (reba(n, sgg, m).second >= k) {
l = m;
} else {
r = m;
}
}
//cout << l << endl;
pair<ll, int> val = reba(n, sgg, l);
if (val.second != k)
exit(1);
return val.first - l * val.second + l * (k-val.second);
}/*
int main() {
int n, m, k;
assert(3 == scanf("%d %d %d", &n, &m, &k));
std::vector<int> r(n), c(n);
for (int i = 0; i < n; i++) {
assert(2 == scanf("%d %d", &r[i], &c[i]));
}
long long ans = take_photos(n, m, k, r, c);
printf("%lld\n", ans);
return 0;
}*/
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Runtime Error
Test #1:
score: 0
Runtime Error
input:
2 6 2 1 4 4 1
output:
Unauthorized output
result:
Subtask #2:
score: 0
Runtime Error
Test #23:
score: 12
Accepted
time: 0ms
memory: 3808kb
input:
2 2 1 0 0 1 1
output:
098d134608c94f7413faac591054ee35 4
result:
ok Correct answer: answer = 4
Test #24:
score: -12
Runtime Error
input:
4 3 2 0 0 0 0 0 0 0 0
output:
Unauthorized output
result:
Subtask #3:
score: 0
Skipped
Dependency #1:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%
Subtask #5:
score: 0
Skipped
Dependency #1:
0%
Subtask #6:
score: 0
Skipped
Dependency #1:
0%