Submission #1202850

#TimeUsernameProblemLanguageResultExecution timeMemory
1202850ezzzayPainting Walls (APIO20_paint)C++20
0 / 100
1593 ms5836 KiB
#include<bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define ll long long int minimumInstructions(int N, int M, int K, std::vector<int> C, std::vector<int> A, std::vector<std::vector<int>> B ) { vector<int>dp(N+2); for(int i=0;i<=N;i++){ dp[i]=1e9; } deque<int>q; for(int i=0;i<M;i++)q.pb(i); dp[0]=0; map< pair<int,int> ,bool> mp; for(int i=0;i<M;i++){ for(auto x:B[i])mp[{i,x}]=1; } for(int i=M;i<=N;i++){ for(int j=0;j<=M;j++){ bool u=1; for(int k=0;k<M;k++){ if( mp[{q[k], C[i-(M-k)]}] ==0) u=0; } if(u){ dp[i]=min(dp[i],dp[i-M]+1); for(int k=0;k<M;k++){ dp[i-k]=min(dp[i-k],dp[i]); } } q.pb(q.front()); q.pop_front(); } } if(dp[N]==1e9)return -1; else return dp[N]; }
#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...