Submission #1184603

#TimeUsernameProblemLanguageResultExecution timeMemory
1184603jcoladaDreaming (IOI13_dreaming)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
#include "dreaming.h"
using namespace std;

const int big = 1e5+5;
int cnt = 0, color[big] = {0}, vex[big] = {0};
bool colvis[big] = {false};
vector<vector<pair<int,int>>> adj[big];
int bag, bigdeez;
int centers[big] = {0}, par[big], wt[big];

void coldfs(int x){
    if(colvis[x]) return;
    if(color[x] == 0){cnt++; color[x] = cnt; vex[cnt] = x;}
    colvis[x] = true;
    for(auto &y : adj[x]){
        if(colvis[x]) continue;
        color[y.first] = color[x];
        coldfs(y.first);
    }
}

int v; long long mx;

void dfs(int x, int p, int d){
    if(d > mx){mx = d; v = x;}
    for(auto &y : adj[x]){
        if(y.first == p) continue;
        dfs(y.first, x, d + y.second)
    }
}

void dfs2(int x, int p, int d){
    par[x] = p;
    wt[x] = 0;
    if(d > mx){mx = d; v = x;}
    for(auto &y : adj[x]){
        if(y.first == p) continue;
        wt[y.first] = y.second;
        dfs(y.first, x, d + y.second)
    }
}

int travelTime(int n, int m, int l, int a[], int b[], int t[]){
    long long btt = 0; int cc;
    for(int i = 0; i < m; i++){
        adj[a[i]].push_back({b[i],t[i]});
        adj[b[i]].push_back({a[i],t[i]});
    }
    for (int i = 0; i < n; i++) {
        if (!colvis[i]) coldfs(i);
    }
    for(int i=1; i <= cnt; i++){
        int s = vex[i];
        mx = 0; dfs(s, -1, 0);
        mx = 0; dfs2(v, -1, 0);
        int k = v, ct = v;
        long long best = 0, curr = mx;
        while(k != -1){
            curr -= wt[k]; int wgt = min(curr, mx - curr);
            best = max(best, wgt);
            if(best == wgt){ct = k;}
            k = parent(k);
        }
        centers[i] = ct;
        if(best >= btt){btt = best; cc = ct;}
    }
    for(int i = 0; i < cnt; i++){
        if(centers[i] == cc) continue;
        adj[centers[i]].push_back({cc, l});
        adj[cc].push_back({centers[i], l});
    }
    mx = 0; dfs(0,-1,0);
    mx = 0; dfs(v,-1,0);
    return mx;
}

Compilation message (stderr)

dreaming.cpp: In function 'void coldfs(int)':
dreaming.cpp:18:17: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   18 |         color[y.first] = color[x];
      |                 ^~~~~
dreaming.cpp:19:18: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   19 |         coldfs(y.first);
      |                  ^~~~~
dreaming.cpp: In function 'void dfs(int, int, int)':
dreaming.cpp:28:14: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   28 |         if(y.first == p) continue;
      |              ^~~~~
dreaming.cpp:29:15: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   29 |         dfs(y.first, x, d + y.second)
      |               ^~~~~
dreaming.cpp:29:31: error: 'class std::vector<std::pair<int, int> >' has no member named 'second'
   29 |         dfs(y.first, x, d + y.second)
      |                               ^~~~~~
dreaming.cpp: In function 'void dfs2(int, int, int)':
dreaming.cpp:38:14: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   38 |         if(y.first == p) continue;
      |              ^~~~~
dreaming.cpp:39:14: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   39 |         wt[y.first] = y.second;
      |              ^~~~~
dreaming.cpp:39:25: error: 'class std::vector<std::pair<int, int> >' has no member named 'second'
   39 |         wt[y.first] = y.second;
      |                         ^~~~~~
dreaming.cpp:40:15: error: 'class std::vector<std::pair<int, int> >' has no member named 'first'
   40 |         dfs(y.first, x, d + y.second)
      |               ^~~~~
dreaming.cpp:40:31: error: 'class std::vector<std::pair<int, int> >' has no member named 'second'
   40 |         dfs(y.first, x, d + y.second)
      |                               ^~~~~~
dreaming.cpp: In function 'int travelTime(int, int, int, int*, int*, int*)':
dreaming.cpp:47:28: error: no matching function for call to 'std::vector<std::vector<std::pair<int, int> > >::push_back(<brace-enclosed initializer list>)'
   47 |         adj[a[i]].push_back({b[i],t[i]});
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type&' {aka 'const std::vector<std::pair<int, int> >&'}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<std::vector<std::pair<int, int> > >::value_type&&' {aka 'std::vector<std::pair<int, int> >&&'}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
dreaming.cpp:48:28: error: no matching function for call to 'std::vector<std::vector<std::pair<int, int> > >::push_back(<brace-enclosed initializer list>)'
   48 |         adj[b[i]].push_back({a[i],t[i]});
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type&' {aka 'const std::vector<std::pair<int, int> >&'}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<std::vector<std::pair<int, int> > >::value_type&&' {aka 'std::vector<std::pair<int, int> >&&'}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
dreaming.cpp:61:23: error: no matching function for call to 'max(long long int&, int&)'
   61 |             best = max(best, wgt);
      |                    ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
dreaming.cpp:61:23: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   61 |             best = max(best, wgt);
      |                    ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
dreaming.cpp:61:23: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   61 |             best = max(best, wgt);
      |                    ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3461 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
dreaming.cpp:61:23: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   61 |             best = max(best, wgt);
      |                    ~~~^~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
dreaming.cpp:61:23: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   61 |             best = max(best, wgt);
      |                    ~~~^~~~~~~~~~~
dreaming.cpp:63:17: error: 'parent' was not declared in this scope
   63 |             k = parent(k);
      |                 ^~~~~~
dreaming.cpp:70:34: error: no matching function for call to 'std::vector<std::vector<std::pair<int, int> > >::push_back(<brace-enclosed initializer list>)'
   70 |         adj[centers[i]].push_back({cc, l});
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type&' {aka 'const std::vector<std::pair<int, int> >&'}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<std::vector<std::pair<int, int> > >::value_type&&' {aka 'std::vector<std::pair<int, int> >&&'}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
dreaming.cpp:71:26: error: no matching function for call to 'std::vector<std::vector<std::pair<int, int> > >::push_back(<brace-enclosed initializer list>)'
   71 |         adj[cc].push_back({centers[i], l});
      |         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/vector:67,
                 from /usr/include/c++/11/functional:62,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65,
                 from dreaming.cpp:1:
/usr/include/c++/11/bits/stl_vector.h:1187:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1187 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1187:35: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const value_type&' {aka 'const std::vector<std::pair<int, int> >&'}
 1187 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/bits/stl_vector.h:1203:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = std::vector<std::pair<int, int> >; _Alloc = std::allocator<std::vector<std::pair<int, int> > >; std::vector<_Tp, _Alloc>::value_type = std::vector<std::pair<int, int> >]'
 1203 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/11/bits/stl_vector.h:1203:30: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::vector<std::vector<std::pair<int, int> > >::value_type&&' {aka 'std::vector<std::pair<int, int> >&&'}
 1203 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~