# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1245073 | chinesegenius69420 | Aliens (IOI16_aliens) | C++20 | 0 ms | 328 KiB |
#include <bits/stdc++.h>
#include "aliens.h"
using namespace std;
// ES UN BINARYYYYYY, ahora solo falta pensar en como hacerlo
long long take_photos(int n, int m, int k, vector<int> R, vector<int> c) {
vector<int> arr;
for(const int &i : R) arr.push_back(i);
int l = 1, r = m;
while(l + 1 < r){
int maxdis = (l + r) / 2, aux = 1;
vector<int> act;
for(int i = 0; i < n - 1; i++){
if(arr[i + 1] - arr[i] + aux <= maxdis){
aux += arr[i + 1] - arr[i];
continue;
}
act.push_back(aux);
aux = 1;
}
act.push_back(aux);
if(act.size() > k){
l = maxdis;
continue;
}
r = maxdis;
}
int aux = 1, maxdis = r;
vector<int> act;
for(int i = 0; i < n - 1; i++){
if(arr[i + 1] - arr[i] + aux <= maxdis){
aux += arr[i + 1] - arr[i];
continue;
}
act.push_back(aux);
aux = 1;
}
act.push_back(aux);
int ans = 0;
for(const int &i : act){
ans += i * i;
}
return ans;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |