Submission #835100

#TimeUsernameProblemLanguageResultExecution timeMemory
835100veehjCat Exercise (JOI23_ho_t4)C++17
0 / 100
0 ms212 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define F first #define S second #define pb push_back #define sz(a) (int)a.size() #define all(x) (x).begin(), (x).end() int n; vector<pair<int, int>> p; int f(ll l, ll r, ll nw){ if(r<=l) return abs(nw-r); int ans=0; int ht; for(int i=0; i<n; i++){ if(l<=p[i].S && p[i].S<=r){ ht=p[i].S; ans+=abs(nw-ht); break; } } if(abs(l-(ht-1))>abs(r-(ht+1))) ans+=f(l, ht-1, ht); else ans+=f(ht+1, r, ht); return ans; } int main() { cin >> n; p.resize(n); for(int i=0; i<n; i++){ cin >> p[i].F; p[i].S=i; } sort(all(p), greater<pair<int, int>>()); int a, b; for(int i=0; i<n-1; i++) cin >> a >> b; cout << f(0, n-1, p[0].S); }

Compilation message (stderr)

Main.cpp: In function 'int f(ll, ll, ll)':
Main.cpp:24:41: warning: 'ht' may be used uninitialized in this function [-Wmaybe-uninitialized]
   24 |   if(abs(l-(ht-1))>abs(r-(ht+1))) ans+=f(l, ht-1, ht);
      |                                        ~^~~~~~~~~~~~~
#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...