Submission #1250167

#TimeUsernameProblemLanguageResultExecution timeMemory
1250167liamislazyTriple Peaks (IOI25_triples)C++20
0 / 100
2096 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(j,0,n-1) {
        fn(i,0,j-1) {
            int d1 = j - i;
            int k;
            if (H[i] == d1) {
                int d2 = H[j];
                k = j + d2;
                if (k < n && H[k] == d1 + d2) ans++;
            }
            if (H[j] == d1) {
                int d2 = H[i];
                k = j + d2;
                if (k < n && H[k] == d1 + d2) ans++;
            }

            if (H[i] == d1 && H[j] > d1) {
                int d2 = H[j] - d1;
                k = j + d2;
                if (k < n && H[k] == H[j]) ans++;
            }

            if (H[j] == d1 && H[i] > d1) {
                int d2 = H[i] - d1;
                k = j + d2;
                if (k < n && H[k] == H[i]) ans++;
            }

            if (H[j] == d1 + H[i]) {
                int d2 = H[i];
                k = j + d2;
                if (k < n && H[k] == d1) ans++;
            }

            if (H[i] == d1 + H[j]) {
                int d2 = H[j];
                k = j + d2;
                if (k < n && H[k] == d1) 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...