ログイン
新規登録
AtsuoCoder Petrozavodsk Contest 001
読込中…
Home
Tasks
Clar
Submissions
Standings
提出 14b606a3-2317-4051-9ebb-f51bfb857557
コード
#include <iostream> #include <vector> #include <algorithm> int main (){ std::vector<int> category, value; int n, m; std::cin >> n >> m; for (int i = 0; i < m; ++i){ int a; std::cin >> a; category.push_back(a); } for (int i = 0; i < m; ++i){ int a; std::cin >> a; value.push_back(a); } int ans_left = -999999, ans_right = 999999; long long ans_value = -1; for (int left = 0; left < m; ++left){ long long current_value = 0; std::vector<int> eaten_list; for (int right = left; right < m; ++right){ current_value += value[right]; if (std::find(eaten_list.begin(), eaten_list.end(), category[right]) == eaten_list.end()){ eaten_list.push_back(category[right]); } if (ans_value < current_value && ans_value != -1){ break; } if (eaten_list.size() >= n && (ans_value >= current_value || ans_value == -1)){ if (ans_value == current_value && right - left == ans_right - ans_left){ if (left >= ans_left) break; } ans_left = left; ans_right = right; ans_value = current_value; } } } if (ans_left < 0){ std::cout << "-1 -1" << std::endl; } else { std::cout << ans_left << " " << ans_right + 1 << std::endl; } }
結果
問題
点数
言語
結果
実行時間
メモリ
F - Sliding
0
C++
TLE
2112 ms
7680 KiB