AtCoder Beginner Contest 044

Submission #1006679

Source codeソースコード

#include <algorithm>
#include <cassert>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <deque>
#include <iomanip>
#include <iostream>
#include <limits>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>

#define FOR(i,k,n) for (int (i)=(k); (i)<(n); ++(i))
#define rep(i,n) FOR(i,0,n)
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define fst first
#define snd second
#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 unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vector<int> > vvi;
typedef vector<ll> vll;
typedef vector<vector<ll> > vvll;
template<class T> using vv=vector<vector< T > >;

int main() {
  int n, a;
  scanf("%d%d", &n, &a);
  vi x(n+1);
  FOR (i, 1, n+1) {
    scanf("%d", &x[i]);
  }
  vi sum(n+1, 0);
  FOR (i, 1, n+1) {
    sum[i] = sum[i-1] + x[i];
  }
  // 何枚目までとったか とった枚数 とったカードの合計
  vv<vll> dp(51, vvll(51, vll(2501, 0)));
  dp[0][0][0] = 1;
  FOR (i, 1, n+1) {
    FOR (j, 1, i+1) {
      rep (k, sum[i-1] + 1) {
        dp[i][j][k + x[i]] += dp[i-1][j-1][k];
        dp[i][j-1][k] += dp[i-1][j-1][k];
      }
    }
  }
  ll ans = 0;
  FOR (i, 1, n+1) {
    ans += dp[n][i][i * a];
  }
  printf("%lld\n", ans);

  return 0;
}

Submission

Task問題 C - 高橋君とカード / Tak and Cards
User nameユーザ名 cyglef
Created time投稿日時
Language言語 C++14 (Clang 3.8.0)
Status状態 AC
Score得点 300
Source lengthソースコード長 1582 Byte
File nameファイル名
Exec time実行時間 82 ms
Memory usageメモリ使用量 52352 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - example_01.txt,example_02.txt,example_03.txt,example_04.txt
Subtask1 200 / 200 example_01.txt,example_02.txt,example_03.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
All 100 / 100 example_01.txt,example_02.txt,example_03.txt,example_04.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,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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
example_01.txt AC 80 ms 52224 KB
example_02.txt AC 80 ms 52224 KB
example_03.txt AC 80 ms 52224 KB
example_04.txt AC 79 ms 52224 KB
subtask1_01.txt AC 79 ms 52224 KB
subtask1_02.txt AC 80 ms 52224 KB
subtask1_03.txt AC 79 ms 52224 KB
subtask1_04.txt AC 79 ms 52224 KB
subtask1_05.txt AC 79 ms 52224 KB
subtask1_06.txt AC 79 ms 52224 KB
subtask1_07.txt AC 79 ms 52224 KB
subtask1_08.txt AC 79 ms 52224 KB
subtask1_09.txt AC 79 ms 52224 KB
subtask2_01.txt AC 80 ms 52224 KB
subtask2_02.txt AC 80 ms 52224 KB
subtask2_03.txt AC 81 ms 52224 KB
subtask2_04.txt AC 82 ms 52224 KB
subtask2_05.txt AC 82 ms 52224 KB
subtask2_06.txt AC 79 ms 52224 KB
subtask2_07.txt AC 80 ms 52224 KB
subtask2_08.txt AC 80 ms 52224 KB
subtask2_09.txt AC 82 ms 52352 KB
subtask2_10.txt AC 80 ms 52224 KB
subtask2_11.txt AC 81 ms 52224 KB