Submission #1257086

#TimeUsernameProblemLanguageResultExecution timeMemory
1257086mkkkkkkkk3개의 봉우리 (IOI25_triples)C++20
5.29 / 100
2094 ms1860 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/6;
  }
  else
  {

  }
}

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:53:1: warning: control reaches end of non-void function [-Wreturn-type]
   53 | }
      | ^
#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...