Submission #1257748

#TimeUsernameProblemLanguageResultExecution timeMemory
1257748mkkkkkkkkTriple Peaks (IOI25_triples)C++20
Compilation error
0 ms0 KiB
#include "triples.h" #include <bits/stdc++.h> using namespace std; map<int,int> mapa; bool check(int i,int j,int k,vector<int>& H) { if(i==j || i==k || j==k) return false; if(k<0 || k>=H.size()) return false; if(mapa[k]==true) return false; vector<int> vec={i,j,k}; sort(vec.begin(),vec.end()); vector<int> vec1={abs(j-i),abs(k-i),abs(k-j)},vec2={H[i],H[j],H[k]}; sort(vec2.begin(),vec2.end()); sort(vec1.begin(),vec1.end()); if(vec1==vec2) { mapa[k]=true; return true; } else return false; } long long count_triples(vector<int> H) { if(H.size()<=2000) { long long cnt=0; for(int i=0;i<H.size();i++) { for(int j=i+1;j<H.size();j++) { mapa.clear(); cnt+=check(i,j,j+H[i],H)+check(i,j,i+H[i],H)+check(i,j,j-H[i],H)+check(i,j,i-H[i],H); cnt+=check(i,j,j+H[j],H)+check(i,j,i+H[j],H)+check(i,j,j-H[j],H)+check(i,j,i-H[j],H); } } return cnt/3; } else { long long cnt=0; for(int i=0;i<H.size();i++) { if(i-H[i]>=0) cnt+=check(i,i-H[i],i-H[i]+H[i-H[i]]); } return cnt; } } vector<int> construct_range(int M, int K) { vector<int> res; for(int i=0;i<M;i++) { if((i+1)%3==0) res.push_back(2); else res.push_back(1); } return res; }

Compilation message (stderr)

triples.cpp: In function 'long long int count_triples(std::vector<int>)':
triples.cpp:55:23: error: too few arguments to function 'bool check(int, int, int, std::vector<int>&)'
   55 |             cnt+=check(i,i-H[i],i-H[i]+H[i-H[i]]);
      |                  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
triples.cpp:9:6: note: declared here
    9 | bool check(int i,int j,int k,vector<int>& H)
      |      ^~~~~