結果
問題 |
No.647 明太子
|
ユーザー |
![]() |
提出日時 | 2019-12-27 09:08:22 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 41 ms / 4,500 ms |
コード長 | 830 bytes |
コンパイル時間 | 743 ms |
コンパイル使用メモリ | 79,924 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-07 03:46:14 |
合計ジャッジ時間 | 1,951 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n; cin >> n; vector<vector<int>> v1(n, vector<int>(2)); for (int i=0; i<n; i++) { cin >> v1[i][0] >> v1[i][1]; } int m; cin >> m; vector<vector<int>> v2(m, vector<int>(4)); for (int i=0; i<m; i++) { cin >> v2[i][2] >> v2[i][3]; v2[i][1]=i+1; } for (int i=0; i<m; i++) { for (int j=0; j<n; j++) { if (v2[i][2]<=v1[j][0] && v2[i][3]>=v1[j][1]) v2[i][0]++; } } sort(v2.begin(), v2.end(), [](auto &L, auto &R){return L[0]==R[0] ? L[1]<R[1]: L[0]>R[0];}); int max=v2[0][0]; if (!max) { cout << 0 << endl; return 0; } else { for (int i=0; i<m; i++) { if (v2[i][0]==max) { cout << v2[i][1] << endl; } else { return 0; } } } }