Submission #1326935

#TimeUsernameProblemLanguageResultExecution timeMemory
1326935yeulerExam (eJOI20_exam)C++20
12 / 100
16 ms3260 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back #define eb push_back #define fi first #define se second #define vector2d(x) vector<vector<x>> #define pii pair<int, int> #define pl pair<ll, ll> #define kagamine_len ios_base::sync_with_stdio(0); cin.tie(0); #define file_in freopen("input.txt", "r", stdin); #define file_out freopen("output.txt", "w", stdout); #define all(x) x.begin(), x.end() using namespace std; /* g++ -std=c++20 EJOI2020_Exam.cpp -o output/EJOI2020_Exam.exe ./output/EJOI2020_Exam.exe Input N -> banyak murid yg mengikuti ujian A1 .. AN -> skor yg akan mrk dapat B1 .. BN -> skor buat lulus hrs exactly Bi dp[l][r][0] = jumlah maksimum murid yg lulus kl ada yg g nyontek dp[l][r][1] = jumlah maksimum murid yg lulus kl semuanya nyontek for subtask 1, 5 (30 points) tandain kl lebih besar dr anu gbs abis itu tiap segment di-max-in aja for subtask 2 (12 points) */ void solve(){ int n; cin >> n; vector<ll> a(n+1), b(n+1), seg(n+2, 0); for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) cin >> b[i]; vector<bool> mark(n+2, 0); vector<int> idx; ll ma = 0; for (int i = 1; i <= n; i++){ if (a[i] > b[i]){ mark[i] = 1; ma = 0; idx.pb(i); continue; } ma = max(a[i], ma); seg[i] = ma; } idx.pb(n+1); int bef = 0; for (int j : idx){ ll mx = seg[j-1]; for (int i = j-1; i > bef; i--){ seg[i] = mx; } bef = j; } int ans = 0; for (int i = 1; i <= n; i++){ if (seg[i] == b[i]) ans++; // cout << seg[i] << " "; } // cout << "\n"; cout << ans << "\n"; } /* 14 1 2 6 4 1 1 5 7 4 9 2 4 3 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 should be 8 */ int main(){ kagamine_len int tc = 1; // cin >> tc; while (tc --> 0){ solve(); } return 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...