Submission #289320

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2893202020-09-02 14:40:04peti1234Ancient Books (IOI17_books)C++17
50 / 100
331 ms48428 KiB
#include <bits/stdc++.h>
using namespace std;
const int c=1000002;
bool v[c];
long long sum;
int n, t[c], kezd, veg, kis, nagy, bh=c, jh, mini[c], maxi[c], x[3], y[3];
vector<int> akt;
void dfs(int a) {
if (v[a]) return;
v[a]=true, akt.push_back(a);
kis=min(kis, a), nagy=max(nagy, a);
dfs(t[a]);
}
void le() {
int pos=mini[kezd], d=kezd, db=0, v=maxi[kezd];
//cout << "kezdes " << bh << " " << pos << " " << v << " " << veg << "\n";
while(bh<pos && v<=veg) {
while(d>pos) {
d--;
pos=min(pos, mini[d]);
v=max(v, maxi[d]);
}
if (bh<pos && v<=veg) {
db++;
pos--, pos=mini[pos], v=max(v, maxi[pos]);
}
}
x[0]=db;
if (v>veg) x[1]=pos, x[2]=v;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

books.cpp: In function 'long long int minimum_walk(std::vector<int>, int)':
books.cpp:49:51: warning: right operand of comma operator has no effect [-Wunused-value]
   49 |     n=p.size(), kezd=s, veg=s, kis=s, nagy=s, bh, jh;
      |                                                   ^~
books.cpp:49:53: warning: right operand of comma operator has no effect [-Wunused-value]
   49 |     n=p.size(), kezd=s, veg=s, kis=s, nagy=s, bh, jh;
      |                                                     ^
books.cpp:61:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |         for (int i=0; i<akt.size(); i++) mini[akt[i]]=kis, maxi[akt[i]]=nagy;
      |                       ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...