제출 #1312938

#제출 시각아이디문제언어결과실행 시간메모리
1312938pedreitorzelda3개의 봉우리 (IOI25_triples)C++20
6.53 / 100
2094 ms1948 KiB
#include<bits/stdc++.h> using namespace std; vector<int>construct_range(int M,int K){ vector<int>a(M); for(int i=0;i<M;i++){ if(i%4==0||i%4==2)a[i]=1; else if(i%4==1)a[i]=2; else a[i]=3; }return a; } bool check(int i1,int i2,int i3,vector<int>&H){ vector<int>H_i = {H[i1],H[i2],H[i3]}; sort(H_i.begin(),H_i.end()); vector<int>H_i_2 ={abs(i2-i1),abs(i3-i1),abs(i3-i2)}; sort(H_i_2.begin(),H_i_2.end()); if(H_i[0]==H_i_2[0]&&H_i[1]==H_i_2[1]&&H_i[2]==H_i_2[2]){ //if(s.find({i1,i2,i3})!=s.end())return false; //s.insert({i1,i2,i3}); //cout << i1 << " " << i2 << " " << i3 << endl; return true; }else return false; } long long count_triples(vector<int>H){ //set<tuple<int,int,int>>s; int n = H.size(); int cant =0 ; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){//i+H[i],i-H[i],j+H[i],j-H[i] if(i+H[i]<n&&i+H[i]>=j&&check(i,j,i+H[i],H)){ cant++; }else if(i+H[j]<n&&i+H[j]>=j&&check(i,j,i+H[j],H)){ cant++; }else if(j+H[i]<n&&check(i,j,j+H[i],H)){ cant++; }else if(j+H[j]<n&&check(i,j,j+H[j],H)){ cant++; } } }return cant; } /* si hay alguno q cuadra --> cuatro para un lado y simetrico y hecho, simulas si ninguno cuadra--> 4--6----2 *//* signed main(){ cout << count_triples({4,1,4,3,2,6,1}) << '\n'; vector<int>ans = construct_range(18,30); for(auto it : ans)cout << it << " "; cout << '\n'; cout << count_triples(construct_range(18,30)) << '\n'; }*/
#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...