Submission #1184161

#TimeUsernameProblemLanguageResultExecution timeMemory
1184161ansoriMatching (CEOI11_mat)C++20
0 / 100
68 ms11336 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3") #pragma GCC optimize("my solution") //#define int long long #define ll long long #define nlp nullptr #define btc __builtin_popcount #define sht int_fast16_t #define ld double #define fi first #define se second using namespace std; const int N = 3e5 + 5 , K = 8 , B = 369; const int md = 998244353; const int inf = 1e9; const long double eps = 1e-8; const bool stress = false; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); bool chk(int l , int i , vector<int>& s , vector<int>& txt){ if(l == 0) return true; int ps1 = i - l + s[l] , n = txt.size(); int ps2 = i - l + s[l - 1]; if(ps1 >= n or ps2 >= n) return false; return (l < n) and (txt[ps1] >= txt[ps2]); } vector<int> cmp(vector<int> s , vector<int> t){ int n = s.size() , m = t.size() , suf[n + 1] = {} , sf = 0; vector<int> ans; for(int i = 1;i < n; ++ i){ while(sf and ! chk(sf , i , s , s)) sf = suf[sf - 1]; if(chk(sf , i , s , s)) sf ++; //cout << sf << ' '; suf[i] = sf; } sf = 0; for(int i = 0;i < m; ++ i){ while(sf and ! chk(sf , i , s , t)) sf = suf[sf - 1]; if(chk(sf , i , s , t)) sf ++; //cout << sf << ' '; if(sf == n) ans.push_back(i - n + 1); } //cout << chk(s , t , 1 , 5); return ans; } void solve(){ int n , m; cin >> n >> m; vector<int> s(n) , t(m); for(int i = 0;i < n; ++ i){ cin >> s[i]; s[i] --; } for(int i = 0;i < m; ++ i) cin >> t[i]; vector<int> ans = cmp(s , t); cout << ans.size() << '\n'; for(auto to : ans) cout << to + 1 << ' '; } main() { //217 //freopen("seating.in", "r", stdin) , freopen("seating.out" , "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0),cout.tie(0); int T = 1; //cin >> T; while(T --) { solve(); cout << '\n'; } }

Compilation message (stderr)

mat.cpp:3:35: warning: bad option '-fmy solution' to pragma 'optimize' [-Wpragmas]
    3 | #pragma GCC optimize("my solution")
      |                                   ^
mat.cpp:19:59: warning: bad option '-fmy solution' to attribute 'optimize' [-Wattributes]
   19 | bool chk(int l , int i , vector<int>& s , vector<int>& txt){
      |                                                           ^
mat.cpp:26:46: warning: bad option '-fmy solution' to attribute 'optimize' [-Wattributes]
   26 | vector<int> cmp(vector<int> s , vector<int> t){
      |                                              ^
mat.cpp:45:12: warning: bad option '-fmy solution' to attribute 'optimize' [-Wattributes]
   45 | void solve(){
      |            ^
mat.cpp:58:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   58 | main()
      | ^~~~
mat.cpp:58:6: warning: bad option '-fmy solution' to attribute 'optimize' [-Wattributes]
   58 | main()
      |      ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...