Submission #1222416

#TimeUsernameProblemLanguageResultExecution timeMemory
1222416m5588ohammedTeleporters (IOI08_teleporters)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define mod 1000000007
int n,m,ans;
int p[4000001],idx[4000001],vis[4000001];
vector <int> v[4000001];
vector <int> telp;
vector <int> qu;
void solve(int i,int cnt){
    vis[i]=1;
    if(v[i].size()==0) ans+=cnt-1;
    for(int j:v[i]){
        if(vis[j]==1) qu.push_back(cnt);
        else solve(j,cnt+1);
    }
    return;
}
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>n>>m;
    for(int i=0;i<n;i++){
        int a,b;
        cin>>a>>b;
        telp.push_back(a);
        telp.push_back(b);
        p[a]=b;
        p[b]=a;
    }
    sort(telp.begin(),telp.end());
    for(int j=0;j<telp.size();j++) idx[telp[j]]=j+1;
    v[0].push_back(idx[p[telp[0]]]);
    for(int j=1;j<telp.size();j++){
        //cout<<j<<" "<<idx[p[telp[j]]]<<endl;
        v[j].push_back(idx[p[telp[j]]]);
    }
    for(int i=0;i<=n*2+1;i++){
        if(vis[i]==0){
            solve(i,1);
        }
    }
    sort(qu.begin(),qu.end());
    for(int i=qu.size()-1;i>=max(0ll,(int)qu.size()-m);i--){
        ans+=qu[i]+2;
    }
    if(qu.size()<m){
        m-=qu.size();
        ans+=(m/2)*4;
        if(m%2==1) ans++;
    }
    cout<<ans<<endl;
    return 0;
}
//g++ -std=c++17 template.cpp -o executable.exe

Compilation message (stderr)

teleporters.cpp: In function 'int main()':
teleporters.cpp:46:33: error: no matching function for call to 'max(long long int, int)'
   46 |     for(int i=qu.size()-1;i>=max(0ll,(int)qu.size()-m);i--){
      |                              ~~~^~~~~~~~~~~~~~~~~~~~~~
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 teleporters.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:
teleporters.cpp:46:33: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   46 |     for(int i=qu.size()-1;i>=max(0ll,(int)qu.size()-m);i--){
      |                              ~~~^~~~~~~~~~~~~~~~~~~~~~
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 teleporters.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:
teleporters.cpp:46:33: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   46 |     for(int i=qu.size()-1;i>=max(0ll,(int)qu.size()-m);i--){
      |                              ~~~^~~~~~~~~~~~~~~~~~~~~~
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 teleporters.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:
teleporters.cpp:46:33: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   46 |     for(int i=qu.size()-1;i>=max(0ll,(int)qu.size()-m);i--){
      |                              ~~~^~~~~~~~~~~~~~~~~~~~~~
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 teleporters.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:
teleporters.cpp:46:33: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   46 |     for(int i=qu.size()-1;i>=max(0ll,(int)qu.size()-m);i--){
      |                              ~~~^~~~~~~~~~~~~~~~~~~~~~