제출 #1363904

#제출 시각아이디문제언어결과실행 시간메모리
1363904edga13개의 봉우리 (IOI25_triples)C++20
25.88 / 100
2095 ms1960 KiB
#include <bits/stdc++.h>
#include "triples.h"
#define ll long long
#define fi first
#define se second
#define pb push_back
using namespace std;

const int N=200005;
ll r=0,n;

long long count_triples(vector<int> h) {
    n=h.size();
    for(int i=0; i<n; i++){
        if(h[i]==1) continue;
        int d=h[i];
        for(int j=max(0,i-d+1); j<i && j+d<n; j++){
            vector<int> di={i-j,j+d-i,d};
            vector<int> hi={h[i],h[j],h[j+d]};
            sort(di.begin(),di.end());
            sort(hi.begin(),hi.end());
            if(di[0]==hi[0] && di[1]==hi[1] && di[2]==hi[2]) r++;
        }
        if(i-d>=0){
            int d2=h[i-d];
            if(h[i-d+d2]+d2==d) r++;
            if(d2*2!=d){
                if(h[i-d2]+d2==d) r++;
            }
        }
        if(i+d<n){
            int d2=h[i+d];
            if(h[i+d-d2]+d2==d) r++;
            if(d2*2!=d){
                if(h[i+d2]+d2==d) r++;
            }
        }
    }
    return r;
}

vector<int> construct_range(int M, int K) {
    srand(time(0));
    vector<int> v;
    for(int i=0; i<M; i++){
        v.pb(rand()%3+1);
    }
    return v;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…