Submission #691681

#TimeUsernameProblemLanguageResultExecution timeMemory
691681tolbiMoney (IZhO17_money)C++17
0 / 100
0 ms212 KiB
#pragma optimize("Bismillahirrahmanirrahim") //█▀█─█──█──█▀█─█─█ //█▄█─█──█──█▄█─█■█ //█─█─█▄─█▄─█─█─█─█ //Allahuekber //ahmet23 orz... //Sani buyuk Osman Pasa Plevneden cikmam diyor. //FatihSultanMehmedHan //YavuzSultanSelimHan //AbdulhamidHan #define author tolbi #include <bits/stdc++.h> #ifdef LOCAL #include "23.h" #endif #define int long long #define endl '\n' #define vint(x) vector<int> x #define deci(x) int x;cin>>x; #define decstr(x) string x;cin>>x; #define cinarr(x) for (auto &it : x) cin>>it; #define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl; #define sortarr(x) sort(x.begin(),x.end()) #define sortrarr(x) sort(x.rbegin(),x.rend()) #define det(x) cout<<"NO\0YES"+x*3<<endl; #define INF LONG_LONG_MAX #define rev(x) reverse(x.begin(),x.end()); #define ios ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define tol(bi) (1LL<<((int)(bi))) const int MOD = 1e9+7; using namespace std; mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count()); int32_t main(){ ios; int t=1; int tno = 0; if (!t) cin>>t; while (t-(tno++)){ deci(n); vint(arr(n)); cinarr(arr); vector<pair<int,int>> segm; for (int i = 1; i < n; i++){ if (arr[i]>arr[i-1]){ segm.push_back({arr[i-1]-1,arr[i]-1}); } } vector<vector<vector<int>>> dp(n,vector<vector<int>>(n,vector<int>(2,-1))); auto f = [&](int l, int r, int flag, auto rec)->int{ if (l>r) return 0ll; if (dp[l][r][flag]!=-1) return dp[l][r][flag]; dp[l][r][flag]=0ll; for (int i = 0; i < segm.size(); i++){ if (!flag && l==segm[i].first && r==segm[i].second) continue; if (segm[i].first<l || segm[i].second<l) continue; if (segm[i].first>r || segm[i].second>r) continue; dp[l][r][flag]=max(dp[l][r][flag],rec(l,segm[i].first,1,rec)+rec(segm[i].first,segm[i].second,0,rec)+rec(segm[i].second,r,1,rec)+1); } return dp[l][r][flag]; }; cout<<n-f(0,n-1,1,f)<<endl; } }

Compilation message (stderr)

money.cpp:1: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    1 | #pragma optimize("Bismillahirrahmanirrahim")
      | 
money.cpp: In instantiation of 'main()::<lambda(long long int, long long int, long long int, auto:23)> [with auto:23 = main()::<lambda(long long int, long long int, long long int, auto:23)>]':
money.cpp:61:22:   required from here
money.cpp:53:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |    for (int i = 0; i < segm.size(); i++){
      |                    ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...