제출 #1183261

#제출 시각아이디문제언어결과실행 시간메모리
1183261od_aliMatching (CEOI11_mat)C++20
27 / 100
2097 ms87524 KiB
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> #define He_he_boy ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0) #define ld long double #define pb push_back #define pf push_front #define eb emplace_back #define fi first #define se second #define ull unsigned long long #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define mx_e max_element #define open freopen("fcolor.in", "r", stdin); #define close freopen("fcolor.out", "w", stdout); #define endl cout << '\n' #define run(a) for (ll w23 = 1; w23 <= a; w23++) typedef int ll; using namespace std; const ld eps = 0.00001, Pi = 3.14159275358979323846; const ll mod = 1e9 + 7; ll mod2 = 998244353, tt; /// -------------------------------------------------------- ld dist(ld x, ld y, ld x2, ld y2){ return sqrt((x - x2) * (x - x2) + (y - y2) * (y - y2)); } ll s[1000010], c[1000010], a[1000010]; void Ali() { ll n, m; cin >> n >> m; for(ll i = 1;i <= n;i ++){ cin >> s[i]; } for(ll i = 1;i <= m;i ++){ cin >> a[i]; } set<pair<ll, pair<ll, ll>>>t; for(ll i = 1;i + n - 1 <= m;i ++){ if(a[s[2] + i - 1] > a[s[1] + i - 1]){ t.insert({i, {a[s[1] + i - 1], a[s[2] + i - 1]}}); } } for(ll i = 3;i <= n;i ++){ vector<pair<ll, pair<ll, ll>>>v, v2; for(auto to : t){ if(to.se.se < to.se.fi){ v.pb(to); } else{ v2.pb(to); } } for(auto to : v){ t.erase(to); } for(ll j = 0;j < v2.size();j ++){ t.erase(v2[j]); v2[j].se.fi = v2[j].se.se; v2[j].se.se = a[s[i] + v2[j].fi - 1]; t.insert(v2[j]); } } cout << t.size() << '\n'; for(auto to : t){ cout << to.fi << ' '; } } /// -------------------------------------------------------- int main() { // open // close; He_he_boy; ll gg = 1; tt = 0; //cin >> gg; while (gg--) { Ali(); // cout << '\n'; } /* **PLUS ULTRA** */ }
#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...