Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- #include <string>
- #include <algorithm>
- #include <map>
- int n, f=-1, mnCows;
- int x, s, maxR; //maxR is the smallest distance between a infected and non infected
- int cows[1000005];
- int main()
- {
- cin >> n; maxR = 1e9; mnCows = 0;
- for (int i = 0; i < n; i++)
- {
- cin >> x >> s;
- cows[x] = s+1;
- }
- for (int i = 0; i < 1000005; i++)
- {
- if (f!=-1 && cows[i] != cows[f]) {
- if(cows[i]!=0 && cows[f]!=0){
- if (i - f - 1 < maxR) {
- maxR = i - f - 1;
- }
- }
- }
- if (cows[i] == 1 || cows[i] == 2) {
- f = i;
- }
- }
- f = -1;
- for (int i = 0; i < 1000005; i++)
- {
- if(f==-1 && cows[i]==2){
- mnCows++;
- }
- if (f!=-1 && cows[f] == 1 && cows[i] == 2) {
- mnCows++;
- }
- if (f!=-1 && cows[i] == 2 && cows[f] == 2) {
- if (i - f > maxR) {
- mnCows++;
- }
- }
- if (cows[i] == 1 || cows[i] == 2) {
- f = i;
- }
- }
- cout << mnCows << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement