提出 #41969387


ソースコード 拡げる

#include <iostream>
#include <vector>
#include <list>
#include <string>
#include <set>
#include <unordered_set>
#include <queue>
#include <numeric>
#include <map>
#include <unordered_map>
#include <algorithm>
using namespace std;

int main (void) {
    int w, h;
    cin >> w >> h;
    int n;
    cin >> n;
    vector<pair<int, int> > points(n);
    for (int i=0; i<n; i++) {
        int p, q;
        cin >> p >> q;
        points[i] = make_pair(p, q);
    }
    int a_num;
    cin >> a_num;
    vector<int> a(a_num);
    for (int i=0; i<a_num; i++) {
        cin >> a[i];
    }
    int b_num;
    cin >> b_num;
    vector<int> b(b_num);
    for (int i=0; i<b_num; i++) {
        cin >> b[i];
    }
    vector<bool> visited_a(a_num+1, false);
    vector<bool> visited_b(b_num+1, false);
    map<pair<int, int>, int> m;
    for (const auto& point : points) {
        auto itr_a = upper_bound(a.begin(), a.end(), point.first);
        long long ind_a = distance(a.begin(), itr_a);
        auto itr_b = upper_bound(b.begin(), b.end(), point.second);
        long long ind_b = distance(b.begin(), itr_b);
        pair<int, int> a_b = make_pair(ind_a, ind_b);
        visited_a[ind_a] = true;
        visited_b[ind_b] = true;
        if (m.find(a_b) == m.end()) {
            m[a_b] = 1;
        } else {
            m[a_b]++;
        }
    }
    int min_count = -1;
    int max_count = -1;
    for (const auto [key, val] : m) {
        if (min_count < 0) {
            min_count = val;
        } else {
            min_count = min(min_count, val);
        }
        max_count = max(max_count, val);
    }
    if (m.size() < (a_num+1)*(b_num+1)) {
        min_count = 0;
    }
    cout << min_count << " " << max_count << endl;
    return 0;
}

提出情報

提出日時
問題 D - A Piece of Cake
ユーザ ReiAkiduki
言語 C++ (GCC 9.2.1)
得点 400
コード長 1740 Byte
結果 AC
実行時間 402 ms
メモリ 18812 KiB

コンパイルエラー

./Main.cpp: In function ‘int main()’:
./Main.cpp:64:18: warning: comparison of integer expressions of different signedness: ‘std::map<std::pair<int, int>, int>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
   64 |     if (m.size() < (a_num+1)*(b_num+1)) {
      |         ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 2
AC × 45
セット名 テストケース
Sample example0.txt, example1.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, example0.txt, example1.txt
ケース名 結果 実行時間 メモリ
000.txt AC 113 ms 4724 KiB
001.txt AC 114 ms 4724 KiB
002.txt AC 108 ms 4764 KiB
003.txt AC 114 ms 4748 KiB
004.txt AC 115 ms 4712 KiB
005.txt AC 235 ms 17224 KiB
006.txt AC 264 ms 17508 KiB
007.txt AC 267 ms 17756 KiB
008.txt AC 377 ms 18632 KiB
009.txt AC 402 ms 18804 KiB
010.txt AC 393 ms 18720 KiB
011.txt AC 188 ms 6292 KiB
012.txt AC 203 ms 6312 KiB
013.txt AC 200 ms 6224 KiB
014.txt AC 225 ms 6184 KiB
015.txt AC 295 ms 12504 KiB
016.txt AC 296 ms 12680 KiB
017.txt AC 290 ms 12580 KiB
018.txt AC 304 ms 12568 KiB
019.txt AC 380 ms 18576 KiB
020.txt AC 196 ms 6220 KiB
021.txt AC 124 ms 7824 KiB
022.txt AC 203 ms 12376 KiB
023.txt AC 269 ms 15408 KiB
024.txt AC 291 ms 17052 KiB
025.txt AC 215 ms 11236 KiB
026.txt AC 394 ms 18656 KiB
027.txt AC 399 ms 18632 KiB
028.txt AC 388 ms 18812 KiB
029.txt AC 397 ms 18704 KiB
030.txt AC 387 ms 18640 KiB
031.txt AC 173 ms 5780 KiB
032.txt AC 161 ms 5016 KiB
033.txt AC 145 ms 4640 KiB
034.txt AC 132 ms 4604 KiB
035.txt AC 128 ms 4716 KiB
036.txt AC 118 ms 4724 KiB
037.txt AC 118 ms 4716 KiB
038.txt AC 129 ms 4576 KiB
039.txt AC 120 ms 4816 KiB
040.txt AC 114 ms 4704 KiB
041.txt AC 116 ms 4604 KiB
042.txt AC 136 ms 4648 KiB
example0.txt AC 2 ms 3560 KiB
example1.txt AC 2 ms 3388 KiB