/* * 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; 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 = 1000000000; 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 = -1000000000; 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; }