Submission #1250144

#TimeUsernameProblemLanguageResultExecution timeMemory
1250144liamislazyTriple Peaks (IOI25_triples)C++20
0 / 100
2095 ms1860 KiB
#include "triples.h"
#include <bits/stdc++.h>
#define el '\n'
typedef long long llo;
#define fn(i,a,b) for (int i = a; i <= b; i++)
#define rn(i,a,b) for (int i = a; i >= b; i--)
using namespace std;

long long count_triples(std::vector<int> H) {
	int n = H.size();
	llo ans = 0;
    fn(i,0,n-1) fn(j,i+1,n-1){
        int d1 = j - i;
        if(H[i] > d1){
            int k = i + H[i];
            if(k < n){
            int d3 = k - j;
                if((H[j] == d1 && H[k] == d3) || (H[j] == d3 && H[k] == d1) )
                ans++;
            }
        }
        if(H[j] > d1){
          int k = i + H[j];
          if(k < n){
            int d3 = k - j;
            if((H[i] == d1 && H[k] == d3) || (H[i] == d3 && H[k] == d1))
              ans++;
            }
        }
        if(H[i] == d1){
            int d3 = H[j];
            int d2 = d1 + d3;
            int k = i + d2;
            if(k < n && H[k] == d2) ans++;
        }
        if(H[j] == d1){
            int d3 = H[i];
            int d2 = d1 + d3;
            int k = i + d2;
            if(k < n && H[k] == d2) ans++;
        }
    }
    return ans;
}

std::vector<int> construct_range(int M, int K) {
    return{};
}
#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...