/*************************************************************************
* *
* XVIII Olimpiada Informatyczna *
* *
* Zadanie: Temperatura *
* Autor: Bartlomiej Wolowiec *
* Zlozonosc czasowa: O(n) *
* Opis: Rozwiazanie wzorcowe *
* *
*************************************************************************/
/* - */
#include <iostream>
#include <algorithm>
#include <queue>
#include <cstdio>
#define PII pair<int, int>
using namespace std;
/* * */
#define MAX_N 1000000
int Tmin[MAX_N];
int Tmax[MAX_N];
#define TEMP second
#define POZ first
int main(void){
int n, wynik=0;
if (scanf("%i", &n) != 1) return 1;
for(int i=0; i<n; i++)
if(scanf("%i%i", &Tmin[i], &Tmax[i]) != 2) return 1;
deque<PII> Q;
for(int i=0; i<n; i++){
int a=Tmin[i], b=Tmax[i];
int naj = i;
while(!Q.empty() && Q.front().TEMP <= a){
naj = min(naj, Q.front().POZ);
Q.pop_front();
}
Q.push_front(PII(naj, a));
while(!Q.empty() && Q.back().TEMP > b){
wynik = max(wynik, i-Q.back().POZ);
Q.pop_back();
}
}
while(!Q.empty()){
wynik = max(wynik, n-Q.back().POZ);
Q.pop_back();
}
printf("%i\n", wynik);
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
9832 KB |
Output is correct |
2 |
Correct |
0 ms |
9832 KB |
Output is correct |
3 |
Correct |
0 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
9832 KB |
Output is correct |
2 |
Correct |
0 ms |
9832 KB |
Output is correct |
3 |
Correct |
0 ms |
9832 KB |
Output is correct |
4 |
Correct |
0 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
9832 KB |
Output is correct |
2 |
Correct |
3 ms |
9832 KB |
Output is correct |
3 |
Correct |
0 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
103 ms |
9832 KB |
Output is correct |
2 |
Correct |
126 ms |
9832 KB |
Output is correct |
3 |
Correct |
136 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
226 ms |
9832 KB |
Output is correct |
2 |
Correct |
233 ms |
9832 KB |
Output is correct |
3 |
Correct |
276 ms |
11676 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
296 ms |
9832 KB |
Output is correct |
2 |
Correct |
239 ms |
9832 KB |
Output is correct |
3 |
Correct |
346 ms |
12076 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
353 ms |
9832 KB |
Output is correct |
2 |
Correct |
236 ms |
9832 KB |
Output is correct |
3 |
Correct |
349 ms |
12604 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
286 ms |
10360 KB |
Output is correct |
2 |
Correct |
196 ms |
10352 KB |
Output is correct |
3 |
Correct |
283 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
166 ms |
9832 KB |
Output is correct |
2 |
Correct |
153 ms |
9832 KB |
Output is correct |
3 |
Correct |
153 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
169 ms |
9832 KB |
Output is correct |
2 |
Correct |
156 ms |
9832 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
323 ms |
9832 KB |
Output is correct |
2 |
Correct |
369 ms |
12472 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
313 ms |
9832 KB |
Output is correct |
2 |
Correct |
326 ms |
12208 KB |
Output is correct |