Submission #537482

#TimeUsernameProblemLanguageResultExecution timeMemory
537482Hydroxic_AcidPlanine (COCI21_planine)C++17
0 / 110
5 ms468 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; #define int long long int n, h; vector<pair<double, double> > arr; bool comp(pair<double, double> i1, pair<double, double> i2){ return i1.second<i2.second; } signed main(){ //freopen("test.txt", "r", stdin); cin >> n >> h; if(n == 3){ cout << 0; return 0; } int prex = 0; int prey = 0; for(int i = 0; i < n; i++){ int x, y; cin >> x >> y; if(i == 0 || i == n - 1) continue; if(i % 2 && i != 1){ arr[(int)arr.size() - 1].second = prex + (h * (x - prex) / (y - prey)); } else if(i%2 == 0){ arr.push_back(make_pair(x - (h * (x - prex)/ (prey - y)), 0)); } prex = x; prey = y; } sort(arr.begin(), arr.end(), comp); int cnt = 1; double eest = arr[0].second; //cout << arr[0].first << " " << arr[0].second << "\n"; for(int i = 1; i < (int)arr.size(); i++){ //cout << arr[i].first << " " << arr[i].second << "\n"; if(arr[i].first <= eest) continue; eest = arr[i].second; cnt++; } cout << cnt; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...