제출 #1254657

#제출 시각아이디문제언어결과실행 시간메모리
1254657nickolasarapidis3개의 봉우리 (IOI25_triples)C++17
5.29 / 100
2093 ms1860 KiB
#include "triples.h"
#include <bits/stdc++.h>
using namespace std;

#define F first
#define S second

long long count_triples(std::vector<int> H){
    int N = H.size();
    long long ans = 0;
    for(int i = 0; i < N; i++){
        for(int j = i + 1; j < N; j++){
            int dij = j - i;
            int max_h = max(H[i], H[j]);
            if(dij == H[i]){
                if(j + H[j] < N and H[j + H[j]] == H[i] + H[j]) ans++;
                if(j + H[j] - H[i] < N and H[j + H[j] - H[i]] == H[j] - H[i]) ans++;
            }
            else if(dij == H[j]){
                if(j + H[i] < N and H[j + H[i]] == H[i] + H[j]) ans++;
                if(j + H[i] - H[j] < N and H[j + H[i] - H[j]] == H[i] - H[j]) ans++;
            }
            else{
                if(dij < max_h){
                    if(j + min(H[i], H[j]) < N and H[j + min(H[i], H[j])] == dij) ans++;
                }
            }
        }
    }
    return ans;
}

vector<int> construct_range(int M, int K){
    vector<int> ans(M);
    int cnt = 1;
    for(int i = 0; i < M; i++){
        if(cnt == 1 or cnt == 3){
            ans[i] = 1;
        }
        else{
            ans[i] = 2;
        }
        if(cnt == 3) cnt = 1;
        else cnt++;
    }
    return ans;
}
#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...
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...