#include <bits/stdc++.h>
#include "aliens.h"
#ifdef MINA
#include "grader.cpp"
#endif
using namespace std;
#define ll long long
#define sz(x) (int) x.size()
ll take_photos(int n, int crap, int m, vector<int> r, vector<int> c) {
array<ll, 2> a[n];
vector<ll> v;
for (int i = 0; i < n; i++) {
a[i] = {r[i], c[i]};
v.push_back(r[i]);
v.push_back(c[i]);
}
v.push_back(-1);
sort(v.begin(), v.end());
v.resize(unique(v.begin(), v.end()) - v.begin());
auto get = [&] (int x) {
return lower_bound(v.begin(), v.end(), x) - v.begin();
};
n = v.size() - 1;
ll mn[n + 1]{}, mx[n + 1]{};
for (int i = 0; i <= n; i++) {
mn[i] = 1e9;
mx[i] = -1e9;
}
for (int i = 0; i < sz(r); i++) {
a[i][0] = get(a[i][0]);
a[i][1] = get(a[i][1]);
mn[a[i][0]] = min(mn[a[i][0]], a[i][1]);
mx[a[i][0]] = max(mx[a[i][0]], a[i][1]);
// cout << "> " << a[i][0] << ' ' << a[i][1] << '\n';
}
ll dp[m + 1][n + 1]{};
memset(dp, '?', sizeof dp);
for (int j = 0; j <= m; j++) dp[j][0] = 0;
for (int j = 1; j <= m; j++) {
for (int i = 1; i <= n; i++) {
ll curmn = 1e9, curmx = -1e9;
for (int k = i; k >= 1; k--) {
curmn = min(curmn, mn[k]);
curmx = max(curmx, mx[k]);
// if (j == m && i == n && k == 3) {
// cout << "HI" << endl;
// }
if (k <= curmn && curmx <= i) {
dp[j][i] = min(dp[j][i], dp[j - 1][k - 1] + (v[i] - v[k] + 1) * (v[i] - v[k] + 1));
}
}
}
}
// cout << dp[1][2] << '\n';
return dp[m][n];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
2 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
3 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
4 |
Incorrect |
0 ms |
348 KB |
Wrong answer: output = 16, expected = 12 |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
600 KB |
Correct answer: answer = 1 |
2 |
Correct |
0 ms |
436 KB |
Correct answer: answer = 4 |
3 |
Correct |
1 ms |
348 KB |
Correct answer: answer = 1 |
4 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 5 |
5 |
Correct |
0 ms |
344 KB |
Correct answer: answer = 41 |
6 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 71923 |
7 |
Correct |
1 ms |
348 KB |
Correct answer: answer = 77137 |
8 |
Correct |
41 ms |
1220 KB |
Correct answer: answer = 764 |
9 |
Correct |
1 ms |
348 KB |
Correct answer: answer = 250000 |
10 |
Correct |
117 ms |
2424 KB |
Correct answer: answer = 500 |
11 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 32 |
12 |
Correct |
1 ms |
348 KB |
Correct answer: answer = 130050 |
13 |
Correct |
12 ms |
432 KB |
Correct answer: answer = 5110 |
14 |
Correct |
2 ms |
344 KB |
Correct answer: answer = 2626 |
15 |
Correct |
6 ms |
460 KB |
Correct answer: answer = 796 |
16 |
Correct |
8 ms |
604 KB |
Correct answer: answer = 7580 |
17 |
Correct |
33 ms |
860 KB |
Correct answer: answer = 1904 |
18 |
Correct |
1 ms |
604 KB |
Correct answer: answer = 996004 |
19 |
Correct |
4 ms |
348 KB |
Correct answer: answer = 38817 |
20 |
Correct |
15 ms |
600 KB |
Correct answer: answer = 4096 |
21 |
Correct |
1 ms |
344 KB |
Correct answer: answer = 1 |
22 |
Correct |
1 ms |
348 KB |
Correct answer: answer = 1 |
23 |
Correct |
33 ms |
860 KB |
Correct answer: answer = 2040 |
24 |
Correct |
1 ms |
344 KB |
Correct answer: answer = 2 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
2 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
3 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
4 |
Incorrect |
0 ms |
348 KB |
Wrong answer: output = 16, expected = 12 |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
2 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
3 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
4 |
Incorrect |
0 ms |
348 KB |
Wrong answer: output = 16, expected = 12 |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
2 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
3 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
4 |
Incorrect |
0 ms |
348 KB |
Wrong answer: output = 16, expected = 12 |
5 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
2 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
3 |
Correct |
0 ms |
348 KB |
Correct answer: answer = 4 |
4 |
Incorrect |
0 ms |
348 KB |
Wrong answer: output = 16, expected = 12 |
5 |
Halted |
0 ms |
0 KB |
- |