/* * File: main.cpp * Author: cteam035 * * Created on October 22, 2016, 10:27 AM */ #include #include #include #include #include #include using namespace std; struct sample { int time; int value; }; int main(int argc, char** argv) { int N; while (scanf("%d",&N) != EOF) { vector s; for (int i =0; i < N; i++) { sample * newSample = new sample(); cin >> newSample->time; cin >> newSample->value; s.push_back(newSample); } int C; cin >> C; for (int i = 0; i > a; string b; cin >> b; int t; cin >> t; int counter = 0; for (int j = N-1; j > 0; j--) { int delta = t; if (b=="min") { int min = 100000001; int pos = j-1; while (pos != -1) { delta-=s[pos+1]->time-s[pos]->time; if (delta<0) break; if (min > s[pos]->value) min = s[pos]->value; pos--; } if (a=="lt") { if (s[j]->value < min) counter++; } else if (a=="gt"){ if (s[j]->value > min) counter++; } } else if (b=="max") { int max = -100000001; int pos = j-1; while (pos != -1) { delta-=s[pos+1]->time-s[pos]->time; if (delta<0) break; if (max < s[pos]->value) max = s[pos]->value; pos--; } if (a=="lt") { if (s[j]->value < max) counter++; } else if (a=="gt"){ if (s[j]->value > max) counter++; } } else if (b=="avg") { int sum = 0; int pos = j-1; int cnt=0; while (pos != -1) { delta-=s[pos+1]->time-s[pos]->time; if (delta<0) break; sum+=s[pos]->value; cnt++; pos--; } if (a=="lt") { if (s[j]->value < sum/cnt) counter++; } else if (a=="gt"){ if (s[j]->value > sum/cnt) counter++; } } } cout << counter << endl; } } return 0; }