Submission #526291

# Submission time Handle Problem Language Result Execution time Memory
526291 2022-02-14T07:59:55 Z bebecanvas Martian DNA (BOI18_dna) C++14
0 / 100
33 ms 5260 KB
#include <bits/stdc++.h>

using namespace std;
#define int long long
#define endl '\n'
#define sz(x) (int) (x).size()

signed main(){
 
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    
	int n, k, r; cin >> n >> k >> r;
	int v[200005]={0};
	int arr[200005];
	for(int i=0; i<n; i++){cin >> arr[i];}
	//for(int i=0; i<k; i++){v[i]= 1;}
	for(int i=0; i<r; i++){
		int a, b; cin >> a >> b;
		v[a]= b;
	}
	
	int s= k;
	int e= n;
	bool yeaa= false;
	while(s<e){
		int mid= s+ (e-s)/2;
		int c[200005]={0};
		int count= 0;
		for(int i=0; i<mid; i++){
			c[arr[i]]++;
			if(c[arr[i]]==v[arr[i]]){count++;}
		}
		bool yea= false;
		if(count==r){yea= true;}
		for(int i=0; i<n- mid; i++){
			if(count==r){yea= true; yeaa= true; break;}
			c[arr[i]]--; 
			if(c[arr[i]]==v[arr[i]]-1){count--;}
			c[arr[i+mid]]++; 
			if(c[arr[i+mid]]==v[arr[i+mid]]){count++;}
		}
		if(count==r){yea= true; yeaa= true;}
		if(yea){e= mid;}
		else{s= mid+1;}
	}
	
	if(yeaa){cout << e << endl;}
	else{cout << "impossible" << endl;}
	
	
}

# Verdict Execution time Memory Grader output
1 Correct 2 ms 4940 KB Output is correct
2 Incorrect 3 ms 4940 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 4940 KB Output is correct
2 Correct 3 ms 4940 KB Output is correct
3 Incorrect 3 ms 5016 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 24 ms 5000 KB Output is correct
2 Correct 23 ms 5068 KB Output is correct
3 Correct 22 ms 5196 KB Output is correct
4 Correct 25 ms 5140 KB Output is correct
5 Incorrect 23 ms 5260 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 33 ms 5060 KB Output isn't correct
2 Halted 0 ms 0 KB -