Submission #1214057

#TimeUsernameProblemLanguageResultExecution timeMemory
1214057nibertHieroglyphs (IOI24_hieroglyphs)C++20
Compilation error
0 ms0 KiB
#include <iostream> #include <fstream> #include <vector> #include <algorithm> using namespace std; vector<int> ucs(vector<int> A, vector<int> B) { int N = A.size(), M = B.size(); vector<vector<int>> dp(N + 1, vector<int>(M + 1, 0)); for (int i = N - 1; i >= 0; --i) { for (int j = M - 1; j >= 0; --j) { if (A[i] == B[j]) { dp[i][j] = 1 + dp[i + 1][j + 1]; } else { dp[i][j] = max(dp[i + 1][j], dp[i][j + 1]); } } } vector<int> lcs; int i = 0, j = 0; bool multiple = false; while (i < N && j < M) { if (A[i] == B[j]) { lcs.push_back(A[i]); i++; j++; } else if (dp[i + 1][j] == dp[i][j] && dp[i][j + 1] == dp[i][j]) { multiple = true; break; } else if (dp[i + 1][j] == dp[i][j]) { i++; } else { j++; } } if (multiple) return {-1}; return lcs; } int main(){ ifstream input("input.txt"); ofstream output("output.txt"); int N, M; input >> N >> M; vector<int> A(N), B(M); for (int i = 0; i < N; ++i) input >> A[i]; for (int i = 0; i < M; ++i) input >> B[i]; vector<int> result = ucs(A, B); output << result.size() << "\n"; for (int value : result) { output << value << " "; } output << "\n"; input.close(); output.close(); return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccn4xJmE.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc4LPL4v.o:hieroglyphs.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status