Submission #1309627

#TimeUsernameProblemLanguageResultExecution timeMemory
1309627namhhPainting Walls (APIO20_paint)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define fi first
#define se second
const int N = 1e5+5;
int cur[N],dp[N],check[N];
vector<int>pos[N],t;
int minimumInstructions(int n, int m, int k, vector<int>c, vector<int>a, vector<vector<int>>b){
	for(int i = 0; i < m; i++){
		for(int j = 0; j < a[i]; j++) pos[b[i][j]].push_back(i);
	}
	for(int i = 0; i < n; i++){
		vector<pii>dm;
		for(int col: pos[c[i]]){
			int loj = (col+m-1) % m;
			dm.push_back({col,cur[loj]+1});
		}
		if(i) for(int col: pos[c[i-1]]) cur[col] = 0;
		for(auto[x,y]: dm){
			if(y >= m) check[i-m+1] = 1;
			cur[x] = y; 
		}
	}
	dp[0] = 0;
	for(int i = 1; i <= n; i++) dp[i] = 1e9;
	deque<int>dq;
	dq.push(0);
	for(int i = 1; i <= n; i++){
		if(dq.size() && dq.front() < i-m) dq.pop_front();
		if(dq.size()) dp[i] = dp[dq.front()]+1;
		if(i <= n-m && check[i]){
			while(dq.size() && dp[dq.back()] > dp[i]) dq.pop_back();
			dq.push_back(i);
		}
	}
	if(dp[n] >= 1e9) return -1;
	return dp[n];
}

Compilation message (stderr)

paint.cpp: In function 'int minimumInstructions(int, int, int, std::vector<int>, std::vector<int>, std::vector<std::vector<int> >)':
paint.cpp:28:12: error: 'class std::deque<int>' has no member named 'push'
   28 |         dq.push(0);
      |            ^~~~