アットウィキロゴ

When Can We Meet?

1124 : When Can We Meet?



解説

なるべく多くの人数が参加できるような日程を探す問題。
何日に何人が参加できるかを記憶しておき、それを元に参加人数が最大でかつ最短の日にちを探索すればいい。

プログラム

C


C++

+ ...
#include <iostream>
using namespace std;
 
int main() {
    int n, q;
    while (cin >> n >> q) {
        if (n == 0 && q == 0) break;
     
        int day[100] = {0};
        int m, d;
        for (int i = 0; i < n; ++i) {
            cin >> m;
            for (int j = 0; j < m; ++j) {
                cin >> d;
                ++day[d];
            }
        }
 
        int max = 0, max_i = 0;
        for (int i = 0; i < 100; ++i) {
            if (max < day[i]) {
                max = day[i];
                max_i = i;
            }
        }

        if (max >= q) {
            cout << max_i << endl;
        } else {
            cout << 0 << endl;
        }
    }
 
    return 0;
}

Java

最終更新:2013年01月22日 17:24