The requirement for a question is very simple. Give a series, give a n, and ask you the maximum number of N consecutive numbers.
/*************************************** **************************************** # Author: neo Fung # Email: neosfung@gmail.com # Last modified: 2012-07-19 # filename: ural1126 magnetic storms. CPP # description: **************************************** **************************************/# ifdef _ msc_ver // # define debug # DEFINE _ crt_secure_no_deprecate # endif # include <fstream> # include <stdio. H> # include <iostream> # include <string. h> # include <string> # include <limits. h> # include <algorithm> # include <math. h> # include <numeric> # include <functional> # include <ctype. h ># include <queue> using namespace STD; const int Kmax = 10010; struct node {int ID, Val ;}; int main (void) {# ifdef debug freopen (".. /stdin.txt "," r ", stdin); freopen (".. /stdout.txt "," W ", stdout); # endif int N, ncase = 1; node; deque <node> q; W Hile (~ Scanf ("% d", & N) {q. clear (); int CNT = 0; while (scanf ("% d", & node. val) & node. val>-1) {node. id = CNT ++; while (! Q. Empty () & Q. Front (). ID <CNT-N) Q. pop_front (); While (! Q. empty () & Q. back (). val <node. val) Q. pop_back (); q. push_back (node); If (CNT> = N) printf ("% d \ n", Q. front (). val) ;}} return 0 ;}