Submission #462400

# Submission time Handle Problem Language Result Execution time Memory
462400 2021-08-10T13:12:14 Z _Avocado_ Martian DNA (BOI18_dna) C++14
0 / 100
99 ms 8144 KB
#include <bits/stdc++.h>
#define int int64_t
using namespace std;

signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	
	int n, k, q; cin>>n>>k>>q;
	
	vector<int>v(n);
	
	for(auto&u: v) cin>>u;
	
	vector<int>goal(k);
	
	for(int i = 0; i<q; ++i){
		int a, b; cin>>a>>b;
		goal[a] = b;
	}
	
	int ans = 1e9;
	int start = 0;
	
	vector<int>cur(k);
	map<int, int>full;
	
	for(int i = 0; i<n; ++i){
		++cur[v[i]];
		if(cur[v[i]] > goal[v[i]] && v[start] == v[i]){
			++start;
			--cur[v[start]];
		}
		if(cur[v[i]] >= goal[v[i]] && goal[v[i]] != 0) full[v[i]] = 1; 
		if(full.size() == q) ans = min(ans, i-start+1);
	} 
	
	
	if(ans == 1e9) cout<<"impossible";
	else cout<<ans;

	
	
	cout<<'\n';
}

Compilation message

dna.cpp: In function 'int main()':
dna.cpp:35:18: warning: comparison of integer expressions of different signedness: 'std::map<long int, long int>::size_type' {aka 'long unsigned int'} and 'int64_t' {aka 'long int'} [-Wsign-compare]
   35 |   if(full.size() == q) ans = min(ans, i-start+1);
      |      ~~~~~~~~~~~~^~~~
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 204 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 17 ms 1868 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 99 ms 8144 KB Output isn't correct
2 Halted 0 ms 0 KB -