ログイン
新規登録
AtsuoCoder Petrozavodsk Contest 001
読込中…
Home
Tasks
Clar
Submissions
Standings
提出 b78ff5ef-9bd9-4a74-8509-eaec4452ac55
コード
#include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> s(m), i(m); for (int &v : s) cin >> v; for (int &v : i) cin >> v; int r = 0; long long best = LLONG_MAX, sum = 0; pair<int, int> best_pos{-2, -2}; map<int, int> mp; for (int l = 0; l < m; l++) { bool ng = false; while (mp.size() < n) { if (r == m) { ng = true; } mp[s[r]]++; sum += i[r]; r++; } if (ng) { break; } if (best > sum) { best = sum; best_pos = {l, r}; } mp[s[l]]--; sum -= i[l]; if (mp[s[l]] == 0) mp.erase(s[l]); } cout << best_pos.first + 1 << " " << best_pos.second + 1 << endl; }
結果
問題
点数
言語
結果
実行時間
メモリ
F - Sliding
150
C++
AC
376 ms
18432 KiB