Submission #1453729


Source Code Expand

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <utility>
#include <queue>
#include <string>
#include <set>
#include <climits>
using namespace std;

void dp(int sum, vector<int>::iterator itr, vector<int>& p, set<int>& s)
{
    if (p.end() == itr)
        s.insert(sum);
    else {
        // 2 pattern: with or without *itr
        dp(sum + *itr, itr + 1, p, s);
        dp(sum, itr + 1, p, s);
    }
}

int main()
{
    int i, n;
    cin >> n;
    vector<int> p;
    set<int> s;
    for (i = 0; i < n; i++) {
        int pi;
        cin >> pi;
        p.push_back(pi);
    }
    dp(0, p.begin(), p, s);
    cout << s.size() << endl;
    return 0;
}

Submission Info

Submission Time
Task A - コンテスト
User yshiraki
Language C++14 (GCC 5.4.1)
Score 0
Code Size 724 Byte
Status TLE
Exec Time 2103 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 0 / 2
Status
AC × 3
TLE × 2
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 AC 1 ms 256 KB
01 TLE 2103 ms 256 KB
02 TLE 2103 ms 256 KB
90 AC 1 ms 256 KB
91 AC 1 ms 256 KB