Submission #997401

#TimeUsernameProblemLanguageResultExecution timeMemory
997401Trisanu_DasSeptember (APIO24_september)C++17
16 / 100
230 ms44328 KiB
#include "september.h" #include <bits/stdc++.h> using namespace std; int vis[200055], pos[20055]; vector<int>adj[200055], idx[200055]; bool flag = false; int dfs(int i ){ int curr = pos[i]; vis[i]=1; for(auto j : adj[i]) if(!vis[j]) curr = max(curr, dfs(j)); return curr; } int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) { memset(vis, 0, sizeof vis); memset(idx, 0, sizeof idx); memset(pos, 0, sizeof pos); for(int i = 0;i < 2055; i++)if(adj[i].size())adj[i].clear(); for(int i = 1;i < F.size(); i++)adj[F[i]].push_back(i); for(auto i : S[0]) pos[S[0][i]] = i; vector<int>vec; for(auto i : S[0])vec.push_back(i); int cnt = 0; for(int i = 0;i < vec.size(); i++){ int y = 0; if(vec[i]==1)flag = true; int R_ind = dfs(vec[i]); for(int j = i+1; j<=R_ind; j++) R_ind = max(R_ind, dfs(vec[j])); i = max(i, R_ind); cnt++; } return cnt; }

Compilation message (stderr)

september.cpp: In function 'int solve(int, int, std::vector<int>, std::vector<std::vector<int> >)':
september.cpp:17:30: warning: 'void* memset(void*, int, size_t)' clearing an object of type 'class std::vector<int>' with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
   17 |     memset(idx, 0, sizeof idx);
      |                              ^
In file included from /usr/include/c++/10/vector:67,
                 from september.h:1,
                 from september.cpp:1:
/usr/include/c++/10/bits/stl_vector.h:389:11: note: 'class std::vector<int>' declared here
  389 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
september.cpp:20:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   20 |     for(int i = 1;i < F.size(); i++)adj[F[i]].push_back(i);
      |                   ~~^~~~~~~~~~
september.cpp:25:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |     for(int i = 0;i < vec.size(); i++){
      |                   ~~^~~~~~~~~~~~
september.cpp:26:13: warning: unused variable 'y' [-Wunused-variable]
   26 |         int y = 0;
      |             ^
#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...
#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...