# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
837589 | Liudas | Rope (JOI17_rope) | C++17 | 2540 ms | 171672 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int tree[1048576 * 2] = {0};
int N = 1048576;
void update(int pos, int val){
int head = N + pos;
tree[head] += val;
head /= 2;
while(head){
tree[head] = max(tree[head * 2 + 1], tree[head * 2]);
head /= 2;
}
}
int arr[1000050];
int main(){
int N, M;
cin >> N >> M;
for(int i = 0; i < N; i ++){
cin >> arr[i];
arr[i]--;
}
vector<vector<vector<int>>> brr(M + 5, vector<vector<int>>(2));
vector<int> counts(M + 5);
for(int i = 0; i < N; i ++){
for(int j = 0; j < 2; j ++){
int pi = i + 1 - (i + j) % 2 * 2;
if(pi > -1 && pi < N && arr[pi] != arr[i]){
brr[arr[i]][j].push_back(arr[pi]);
}
}
# | 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... |