Submission #1249548

#TimeUsernameProblemLanguageResultExecution timeMemory
1249548Charizard2021Triple Peaks (IOI25_triples)C++20
8 / 100
1037 ms1984 KiB
#include<bits/stdc++.h>
#include "triples.h"
using namespace std;
long long count_triples(vector<int> H){
    int n = (int)H.size();
    if(n <= 100){
        long long ans = 0;
        for(int i = 0; i < n; i++){
            for(int j = i + 1; j < n; j++){
                for(int k = j + 1; k < n; k++){
                    vector<int> v;
                    v.push_back(j - i);
                    v.push_back(k - j);
                    v.push_back(k - i);
                    vector<int> v2;
                    v2.push_back(H[i]);
                    v2.push_back(H[j]);
                    v2.push_back(H[k]);
                    sort(v2.begin(), v2.end());
                    sort(v.begin(), v.end());
                    if(v == v2){
                        ans++;
                    }
                }
            }
        }
        return ans;
    }
    int thing = 0;
    for(int i = 0; i < n; i++){
        thing = max(thing, H[i]);
    }
    if(thing <= 10){
        long long ans = 0;
        for(int i = 0; i + 10 < n; i++){
            for(int j = i + 1; j <= i + 10; j++){
                for(int k = j + 1; k <= i + 10; k++){
                    vector<int> v;
                    v.push_back(j - i);
                    v.push_back(k - j);
                    v.push_back(k - i);
                    vector<int> v2;
                    v2.push_back(H[i]);
                    v2.push_back(H[j]);
                    v2.push_back(H[k]);
                    sort(v2.begin(), v2.end());
                    sort(v.begin(), v.end());
                    if(v == v2){
                        ans++;
                    }
                }
            }
        }
        return ans;
    }
}

std::vector<int> construct_range(int M, int K) {
  return {1, 1, 1};
}

Compilation message (stderr)

triples.cpp: In function 'long long int count_triples(std::vector<int>)':
triples.cpp:56:1: warning: control reaches end of non-void function [-Wreturn-type]
   56 | }
      | ^
#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...