Submission #1263008

#TimeUsernameProblemLanguageResultExecution timeMemory
1263008nerrrminTriple Peaks (IOI25_triples)C++20
6 / 100
1010 ms3552 KiB
#include "triples.h"
#include<bits/stdc++.h>
#define pb push_back
using namespace std;
const int maxn = 2e5 + 10;
int n;
long long a[maxn];
long long count_triples(std::vector<int> H)
{
    n = H.size();
    for (int i = 1; i <= n; ++ i)
    {
        a[i] = H[i-1];
    }
    long long ans = 0;
    for (int i = 1; i <= n; ++ i)
    {
        for (int j = i+2; j <= min(n, i+10); ++ j)
        {
            for (int k = i+1; k <= j-1; ++ k)
            {
                vector < int > dist, val;
                val.pb(a[i]);
                val.pb(a[j]);
                val.pb(a[k]);
                dist.pb(k - i);
                dist.pb(j - k);
                dist.pb(j - i);
                sort(dist.begin(), dist.end());
                sort(val.begin(), val.end());
                int no = 0;
                for (int id = 0; id < 3; ++ id)
                    if(val[id] != dist[id])no = 1;
                if(!no)ans ++;
            }
        }
    }
  return ans;
}

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