제출 #1252379

#제출 시각아이디문제언어결과실행 시간메모리
1252379chr34Triple Peaks (IOI25_triples)C++20
6 / 100
530 ms1984 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
//#define int long long
#define endl "\n"
#define dbg(x) cout << #x << " = " << (x) << endl;
const long long INF = 1e18;
const int MAXN = 1e6 + 10;
const int MOD = 1e9 + 7;
 
bool match(vector<int> a, vector<int> b){
	sort(a.begin(), a.end());
	sort(b.begin(), b.end());
	
	for(int i = 0; i < 3; ++i) if(a[i] != b[i]) return false;
	
	return true;
}
 
long long count_triples(vector<int> h){
	int n = h.size();
	int ans = 0;
	
	
	for(int a = 1; a <= 10; ++a){
		for(int b = 1; b <= 10; ++b){
			int c = a + b;
			if(c > 10) continue;
			vector<int> expected = {a, b, c};
			
			for(int j = a; j + b < n; ++j){
				int i = j - a;
				int k = j + b;
				
				vector<int> heights = {h[i], h[j], h[k]};
				
				if(match(heights, expected)) ans++;
			} 
		}
	}
	
	return ans;
}
 
vector<int> construct_range(int m, int k){
	return {};
}
 
/*int main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	//freopen("input.in", "r", stdin);
	//freopen("input.out", "w", stdout);    
	cout<<count_triples({4, 1, 4, 3, 2, 6, 1});
    return 0;
}*/
#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...