Submission #960174

# Submission time Handle Problem Language Result Execution time Memory
960174 2024-04-09T19:52:52 Z tutis Longest Trip (IOI23_longesttrip) C++17
15 / 100
10 ms 600 KB
#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;
mt19937_64 rng(0);
 
std::vector<int> longest_trip(int N, int D)
{
    vector<int>x, y;
    x.push_back({0});
    for(int i=1;i<N;i++){
        if(y.size()==0){
            if(are_connected({i}, {x[0]})){
                x.insert(x.begin(),i);
                continue;
            }
            if (are_connected({i}, {x.back()})){
                x.push_back(i);
                continue;
            }
            if(!are_connected({i}, x)){
                y={i};
                continue;
            }
            int lo=0;
            int hi=x.size()-1;
            while(lo<hi){
                int m=(lo+hi)/2;
                vector<int>z;
                for(int i=0;i<m;i++){
                    z.push_back(x[i]);
                }
                if(are_connected(z, {i})){
                    hi=m;
                } else{
                    lo=m+1;
                }
            }
            vector<int>z;
            for(int i=lo+1;i<x.size();i++){
                z.push_back(x[i]);
            }
            for(int i=0;i<=lo;i++){
                z.push_back(x[i]);
            }
            z.push_back(i);
            x=z;
            continue;
        }
        if(!are_connected(x,{i})){
            y.push_back(i);
            continue;
        }
        if(!are_connected(y,{i})){
            x.push_back(i);
            continue;
        }
        x.push_back(i);
        for(int i:y){
            x.push_back(i);
        }
        y={};
    }
    if(x.size()>y.size()){
        return x;
    } else{
        return y;
    }
}

Compilation message

longesttrip.cpp: In function 'std::vector<int> longest_trip(int, int)':
longesttrip.cpp:39:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |             for(int i=lo+1;i<x.size();i++){
      |                            ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 2 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 596 KB Output is correct
2 Correct 6 ms 344 KB Output is correct
3 Correct 6 ms 344 KB Output is correct
4 Correct 5 ms 344 KB Output is correct
5 Correct 4 ms 600 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 344 KB Output is correct
2 Correct 5 ms 344 KB Output is correct
3 Correct 5 ms 344 KB Output is correct
4 Correct 5 ms 364 KB Output is correct
5 Correct 5 ms 344 KB Output is correct
6 Correct 8 ms 344 KB Output is correct
7 Correct 7 ms 344 KB Output is correct
8 Correct 5 ms 344 KB Output is correct
9 Correct 5 ms 344 KB Output is correct
10 Correct 7 ms 600 KB Output is correct
11 Correct 4 ms 344 KB Output is correct
12 Correct 4 ms 600 KB Output is correct
13 Correct 5 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 344 KB Output is correct
2 Correct 7 ms 344 KB Output is correct
3 Correct 6 ms 596 KB Output is correct
4 Correct 4 ms 344 KB Output is correct
5 Correct 5 ms 344 KB Output is correct
6 Correct 9 ms 344 KB Output is correct
7 Correct 5 ms 344 KB Output is correct
8 Correct 5 ms 344 KB Output is correct
9 Correct 4 ms 344 KB Output is correct
10 Correct 5 ms 600 KB Output is correct
11 Correct 5 ms 344 KB Output is correct
12 Correct 5 ms 600 KB Output is correct
13 Correct 4 ms 600 KB Output is correct
14 Correct 8 ms 340 KB Output is correct
15 Incorrect 2 ms 344 KB Incorrect
16 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 344 KB Output is correct
2 Correct 7 ms 344 KB Output is correct
3 Correct 4 ms 344 KB Output is correct
4 Correct 5 ms 344 KB Output is correct
5 Correct 4 ms 344 KB Output is correct
6 Correct 8 ms 344 KB Output is correct
7 Correct 5 ms 344 KB Output is correct
8 Correct 5 ms 344 KB Output is correct
9 Correct 4 ms 344 KB Output is correct
10 Correct 4 ms 600 KB Output is correct
11 Correct 4 ms 344 KB Output is correct
12 Correct 4 ms 600 KB Output is correct
13 Correct 4 ms 344 KB Output is correct
14 Correct 10 ms 344 KB Output is correct
15 Incorrect 2 ms 344 KB Incorrect
16 Halted 0 ms 0 KB -