ログイン
新規登録
AtsuoCoder Petrozavodsk Contest 001
読込中…
Home
Tasks
Clar
Submissions
Standings
提出 a51293da-5720-4b3a-b6f2-60dd515befd6
コード
#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 == n) { 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
0
C++
WA
286 ms
18336 KiB