/* * File: samples.cpp * Author: cteam003 * * Created on October 22, 2016, 1:01 PM */ #include #include #include #include #include using namespace std; /* * */ int main(int argc, char** argv) { int samplesNum = 0, samplesCond = 0; scanf ("%d", &samplesNum); vector > samples (samplesNum); for (int i = 0; i < samplesNum; i++){ int x, y; scanf ("%d %d", &x, &y); samples[i] = make_pair(x,y); } scanf ("%d", &samplesCond); for (int i = 0; i < samplesCond; i++){ string comp, func; int range, vyskyty = 0; cin >> comp >> func >> range; if (func == "min"){ for (int j = 0; j= 0 && samples[j].first - range <= samples[k].first; k--){ if (comp == "lt"){ if (samples[j].second >= samples[k].second ){ flag = false; break; } } if (comp == "gt"){ if (samples[j].second <= samples[k].second ){ flag = false; break; } } } } else flag = false; if (flag && j != 0 && samples[j].first - range < samples[j-1].first) vyskyty++; } } else if (func == "max"){ for (int j = 0; j= 0 && samples[j].first - range <= samples[k].first; k--){ if (comp == "lt"){ if (samples[j].second <= samples[k].second ){ flag = false; break; } } if (comp == "gt"){ if (samples[j].second >= samples[k].second ){ flag = false; break; } } } } else flag = false; if (flag && j != 0 && samples[j].first - range < samples[j-1].first) vyskyty++; } } else if (func == "avg"){ for (int j = 0; j= 0 && samples[j].first - range <= samples[k].first; k--){ curAvg += samples[k].second; cnt++; } } else continue; if (comp == "lt"){ if (samples[j].second > curAvg / cnt ){ vyskyty++; } } if (comp == "gt"){ if (samples[j].second < curAvg / cnt ){ vyskyty++; } } } } cout << vyskyty << endl; } return 0; }