Submission #1380846
Source Code Expand
#include <iostream> #include <vector> #include <algorithm> #include <functional> #include <numeric> using namespace std; using ull = unsigned long long; using vvi = vector<vector<int>>; class Combinations{ // n 個の中から k 個を選ぶ組み合わせを列挙する ull S; ull E; public: Combinations(int n, int k):S((1ull << k) - 1ull), E(~((1ull << n) - 1ull)){} ull next(){ ull currentS = S; if (S & E) return 0ull; ull smallest = S & -S; ull ripple = S + smallest; ull nsmallest = ripple & -ripple; S = ripple | (((nsmallest / smallest) >> 1) - 1); return currentS; } }; int calc(int xmask, int M, int Q, const vvi &xyz){ vector<int> hs(M, 0); for (int g = 0; xmask; ++g, xmask >>= 1){ if (xmask & 1){ for (int b = 0; b != M; ++b){ hs[b] += xyz[g][b]; } } } sort(hs.begin(), hs.end(), greater<int>()); return accumulate(hs.begin(), hs.begin()+Q, 0); } int main() { cin.tie(0); ios::sync_with_stdio(false); int N, M, P, Q, R; cin >> N >> M >> P >> Q >> R; vvi xyz(N, vector<int>(M, 0)); for (int r = 0; r != R; ++r){ int x, y, z; cin >> x >> y >> z; xyz[x - 1][y - 1] = z; } int max_happiness = 0; Combinations cb(N, P); while (int xmask = cb.next()){ max_happiness = max(max_happiness, calc(xmask, M, Q, xyz)); } cout << max_happiness << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - バレンタインデー |
User | rpy3cpp |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1567 Byte |
Status | AC |
Exec Time | 26 ms |
Memory | 384 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | subtask0-sample01.txt, subtask0-sample02.txt |
Subtask1 | subtask0-sample01.txt, subtask0-sample02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt |
Subtask2 | subtask0-sample01.txt, subtask0-sample02.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask1-21.txt, subtask1-22.txt, subtask1-23.txt, subtask1-24.txt, subtask1-25.txt, subtask1-26.txt, subtask1-27.txt, subtask1-28.txt, subtask1-29.txt, subtask1-30.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0-sample01.txt | AC | 1 ms | 256 KB |
subtask0-sample02.txt | AC | 1 ms | 256 KB |
subtask1-01.txt | AC | 1 ms | 256 KB |
subtask1-02.txt | AC | 1 ms | 256 KB |
subtask1-03.txt | AC | 1 ms | 256 KB |
subtask1-04.txt | AC | 1 ms | 256 KB |
subtask1-05.txt | AC | 1 ms | 256 KB |
subtask1-06.txt | AC | 1 ms | 256 KB |
subtask1-07.txt | AC | 1 ms | 256 KB |
subtask1-08.txt | AC | 1 ms | 256 KB |
subtask1-09.txt | AC | 1 ms | 256 KB |
subtask1-10.txt | AC | 1 ms | 256 KB |
subtask1-11.txt | AC | 1 ms | 256 KB |
subtask1-12.txt | AC | 1 ms | 256 KB |
subtask1-13.txt | AC | 1 ms | 256 KB |
subtask1-14.txt | AC | 1 ms | 256 KB |
subtask1-15.txt | AC | 1 ms | 256 KB |
subtask1-16.txt | AC | 1 ms | 256 KB |
subtask1-17.txt | AC | 1 ms | 256 KB |
subtask1-18.txt | AC | 1 ms | 256 KB |
subtask1-19.txt | AC | 1 ms | 256 KB |
subtask1-20.txt | AC | 1 ms | 256 KB |
subtask1-21.txt | AC | 1 ms | 256 KB |
subtask1-22.txt | AC | 1 ms | 256 KB |
subtask1-23.txt | AC | 1 ms | 256 KB |
subtask1-24.txt | AC | 1 ms | 256 KB |
subtask1-25.txt | AC | 1 ms | 256 KB |
subtask1-26.txt | AC | 1 ms | 256 KB |
subtask1-27.txt | AC | 1 ms | 256 KB |
subtask1-28.txt | AC | 1 ms | 256 KB |
subtask1-29.txt | AC | 1 ms | 256 KB |
subtask1-30.txt | AC | 1 ms | 256 KB |
subtask2-01.txt | AC | 1 ms | 256 KB |
subtask2-02.txt | AC | 1 ms | 256 KB |
subtask2-03.txt | AC | 1 ms | 256 KB |
subtask2-04.txt | AC | 1 ms | 256 KB |
subtask2-05.txt | AC | 24 ms | 256 KB |
subtask2-06.txt | AC | 25 ms | 256 KB |
subtask2-07.txt | AC | 25 ms | 256 KB |
subtask2-08.txt | AC | 25 ms | 256 KB |
subtask2-09.txt | AC | 26 ms | 256 KB |
subtask2-10.txt | AC | 25 ms | 256 KB |
subtask2-11.txt | AC | 25 ms | 256 KB |
subtask2-12.txt | AC | 25 ms | 384 KB |
subtask2-13.txt | AC | 25 ms | 256 KB |
subtask2-14.txt | AC | 24 ms | 256 KB |
subtask2-15.txt | AC | 25 ms | 256 KB |
subtask2-16.txt | AC | 25 ms | 256 KB |
subtask2-17.txt | AC | 25 ms | 384 KB |
subtask2-18.txt | AC | 25 ms | 256 KB |
subtask2-19.txt | AC | 25 ms | 256 KB |
subtask2-20.txt | AC | 25 ms | 256 KB |