Submission #1038948

#TimeUsernameProblemLanguageResultExecution timeMemory
1038948ZanPLongest Trip (IOI23_longesttrip)C++17
15 / 100
10 ms384 KiB
#include "longesttrip.h"
#include <iostream>
#include <vector>
using namespace std;

void sub1(vector<int> & ans, int n){
    ans.resize(n);
    for(int i = 0;i<n;i++){ans[i] = i;}
}

void sub2(vector<int>& ans, int n) {
    ans.reserve(n);
    bool are_last_connected = are_connected({ n - 2 }, { n - 1 });
    if (!are_last_connected) { ans.push_back(n - 1); }
    ans.push_back(0);
    for (int i = 0; i < n - 1; i++) {
        if (are_connected({ i }, { i + 1 })) {
            ans.push_back(i + 1);
        }
        else {
            if (i == n - 2) { break; }
            ans.push_back(i + 2);
            ans.push_back(i + 1);
            if (!(i == n - 3 || !are_last_connected && i == n-4))ans.push_back(i + 3);
            i += 2;
        }
    }
}

vector<int> longest_trip(int n, int d){
    vector<int> ans; 
    if(d == 3){
        sub1(ans, n);
        return ans;
    }
    if(d == 2){
        sub2(ans,n);
        return ans;
    }
    return {0, 4, 5 ,2};
}

Compilation message (stderr)

longesttrip.cpp: In function 'void sub2(std::vector<int>&, int)':
longesttrip.cpp:24:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   24 |             if (!(i == n - 3 || !are_last_connected && i == n-4))ans.push_back(i + 3);
      |                                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
#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...