Submission #1307808

#TimeUsernameProblemLanguageResultExecution timeMemory
1307808exoworldgdTriple Peaks (IOI25_triples)C++20
12.95 / 100
2094 ms34684 KiB
#include <bits/stdc++.h>
#define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0)
using namespace std;
using ll=long long;
ll count_triples(vector<int>h){
    int n=h.size();
    ll 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>a={h[i],h[j],h[k]},b={j-i,k-i,k-j};
        sort(a.begin(),a.end()),sort(b.begin(),b.end()),ans+=a==b;
    }
    return ans;
}
vector<int>construct_range(int m,int k){
    vector<int>res;
    int pat[]={1,2,1,3,2,1,4,3,2,1},sz=10;
    for(int i=0;i<m;i++)res.push_back(pat[i%sz]);
    return res;
}
#ifdef LOCAL
signed main(void){
    exoworldgd;
    int type;cin>>type;
    if(type==1){
        int n;cin>>n;
        vector<int>h(n);
        for(int i=0;i<n;i++)cin>>h[i];
        cout<<count_triples(h)<<'\n';
    }else{
        int m,k;cin>>m>>k;
        auto res=construct_range(m,k);
        cout<<res.size()<<'\n';
        for(int x:res)cout<<x<<' ';
        cout<<'\n';
    }
}
#endif
#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...