TechFUL: マスクが買いたい
問題概要
Tech ちゃんはお店に買い物にいく.
お店は時刻 0 ちょうどに開き、時刻 ちょうどに閉まる.
人のお客さんの出入りのデータが与えられる.
番目のお客さんは時刻 にお店に入り、時刻 にお店を出る.
お客さんが最も少ない時間を出力せよ.
制約
解法
各時間帯におけるお客さんの人数をいもす法を用いて求め、お客さんが最も少ない時間帯を列挙する.
いもす法の解説:いもす法 - いもす研 (imos laboratory)
#include <bits/stdc++.h> using namespace std; int main() { int E, N; cin >> E >> N; vector<int> cum(E + 1, 0); for (int i = 0; i < N; ++i) { int S, T; cin >> S >> T; cum[S]++; cum[T]--; } for (int i = 0; i < E; ++i) { cum[i + 1] += cum[i]; } int num = N; for (int i = 0; i < E; ++i) { num = min(num, cum[i]); } for (int i = 0; i < E; ++i) { if (cum[i] == num) { cout << i << " "; } } cout << endl; }