結果
問題 | No.647 明太子 |
ユーザー |
|
提出日時 | 2020-05-20 16:42:27 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 46 ms / 4,500 ms |
コード長 | 1,009 bytes |
コンパイル時間 | 1,706 ms |
コンパイル使用メモリ | 173,752 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-01 23:39:31 |
合計ジャッジ時間 | 3,406 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
#include <bits/stdc++.h> #define rep(i,n) for(int i=0;i<(int)(n);i++) using namespace std; using ll = long long ; using P = pair<int,int> ; using pll = pair<long long,long long>; constexpr int INF = 1e9; constexpr long long LINF = 1e17; constexpr int MOD = 1000000007; int main(){ int n; cin >> n; vector<P> ab(n); rep(i,n) cin >> ab[i].first >> ab[i].second; int m; cin >> m; vector<P> xy(m); rep(i,m) cin >> xy[i].first >> xy[i].second; vector<int> cnt(m); rep(i,n)rep(j,m){ if(xy[j].first <= ab[i].first && ab[i].second <= xy[j].second){ cnt[j] ++; } } int mx = 0; vector<int> idx; rep(i,m){ if(cnt[i]==0) continue; if(cnt[i] > mx){ mx = cnt[i]; idx = {i}; }else if(cnt[i]==mx){ idx.push_back(i); } } if(idx.size()==0) cout << 0 << endl; else{ rep(i,idx.size()){ cout << idx[i]+1 << endl; } } return 0; }