Submission #462400

#TimeUsernameProblemLanguageResultExecution timeMemory
462400_Avocado_ Martian DNA (BOI18_dna)C++14
0 / 100
99 ms8144 KiB
#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 (stderr)

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...