Submission #1178539


Source Code Expand

#include <algorithm>
#include <cassert>
#include <cfloat>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <deque>
#include <iostream>
#include <limits>
#include <map>
#include <queue>
#include <set>
#include <stack>
#include <string>
#include <tuple>
#include <unordered_map>
#include <unordered_set>
#include <vector>
 
#define FOR(i,k,n) for (int (i)=(k); (i)<(n); ++(i))
#define rep(i,n) FOR(i,0,n)
#define all(v) begin(v), end(v)
#define debug(x) cerr<< #x <<": "<<x<<endl
#define debug2(x,y) cerr<< #x <<": "<< x <<", "<< #y <<": "<< y <<endl
 
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vector<int> > vvi;
typedef vector<ll> vll;
typedef vector<vector<ll> > vvll;
typedef deque<bool> db;
template<class T> using vv=vector<vector< T > >;

int n, m, p, q, r;
vvi am;
int ans;

vector<bool> calculated;

int calculate_max_value(int girl) {
  vi value_of_boy(m, 0);
  rep (i, n) {
    if ((girl>>i)&1) {
      rep (j, m) {
        value_of_boy[j] += am[i][j];
      }
    }
  }
  sort(all(value_of_boy), greater<int>());
  int ret = 0;
  rep (i, q) {
    ret += value_of_boy[i];
  }
  return ret;
}

void dfs(int girl, int num_girl) {
  if (calculated[girl]) return;
  calculated[girl] = true;

  if (num_girl == p) {
    ans = max(ans, calculate_max_value(girl));
    return;
  }
  rep (i, n) {
    if (((girl>>i)&1) == 0) {
      dfs(girl|(1<<i), num_girl+1);
    }
  }
}

void solve() {
  ans = 0;
  calculated.assign((1<<n) + 10, false);
  dfs(0, 0);
}

int main() {
  scanf("%d%d%d%d%d", &n, &m, &p, &q, &r);
  am.assign(n, vi(m, 0));
  rep (i, r) {
    int x, y, z;
    scanf("%d%d%d", &x, &y, &z);
    x -= 1;
    y -= 1;
    am[x][y] = z;
  }

  solve();
  printf("%d\n", ans);

  return 0;
}

Submission Info

Submission Time
Task D - バレンタインデー
User tspcx
Language C++14 (Clang 3.8.0)
Score 100
Code Size 1880 Byte
Status AC
Exec Time 29 ms
Memory 760 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 70 / 70
Status
AC × 2
AC × 32
AC × 52
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 7 ms 760 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 2 ms 256 KB
subtask2-05.txt AC 28 ms 256 KB
subtask2-06.txt AC 29 ms 256 KB
subtask2-07.txt AC 29 ms 256 KB
subtask2-08.txt AC 29 ms 256 KB
subtask2-09.txt AC 29 ms 256 KB
subtask2-10.txt AC 29 ms 256 KB
subtask2-11.txt AC 29 ms 256 KB
subtask2-12.txt AC 29 ms 256 KB
subtask2-13.txt AC 29 ms 256 KB
subtask2-14.txt AC 29 ms 256 KB
subtask2-15.txt AC 29 ms 256 KB
subtask2-16.txt AC 29 ms 256 KB
subtask2-17.txt AC 29 ms 256 KB
subtask2-18.txt AC 29 ms 256 KB
subtask2-19.txt AC 29 ms 256 KB
subtask2-20.txt AC 29 ms 256 KB