Submission #675630

#TimeUsernameProblemLanguageResultExecution timeMemory
675630sudheerays123Untitled (POI11_tem)C++17
8 / 100
251 ms65536 KiB
#include<bits/stdc++.h> using namespace std; #define fast ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define ll long long int const ll N = 100+5 , INF = 1e18 , MOD = 1e9+7; void solve(){ ll n; cin >> n; vector<pair<ll,ll>> range(n+5); for(ll i = 1; i <= n; i++) cin >> range[i].first >> range[i].second; ll maxi = -INF; for(ll i = 1; i <= n; i++){ if(maxi > range[i].second) maxi = range[i].first; else maxi = max(maxi,range[i].first); range[i].first = maxi; } ll mini = INF; for(ll i = n; i >= 1; i--){ if(mini < range[i].first) mini = range[i].second; else mini = min(mini,range[i].second); range[i].second = mini; } vector<vector<ll>> dp(n+5,vector<ll>(3)); dp[1][1] = 1; dp[1][2] = 1; ll ans = 1; for(ll i = 2; i <= n; i++){ dp[i][1] = 1; dp[i][2] = 1; if(range[i-1].first <= range[i].first) dp[i][1] = max(dp[i][1],dp[i-1][1]+1); if(range[i-1].second <= range[i].first) dp[i][1] = max(dp[i][1],dp[i-1][2]+1); if(range[i-1].first <= range[i].second) dp[i][2] = max(dp[i][2],dp[i-1][1]+1); if(range[i-1].second <= range[i].second) dp[i][2] = dp[i-1][2]+1; ans = max({ans,dp[i][1],dp[i][2]}); } cout << ans << "\n"; } int main(){ fast; ll tc = 1; // cin >> tc; while(tc--) solve(); 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...