Submission #31683724


Source Code Expand

#include <iostream> // cout, endl, cin
#include <string> // string, to_string, stoi
#include <vector> // vector
#include <algorithm> // min, max, swap, sort, reverse, lower_bound, upper_bound
#include <utility> // pair, make_pair
#include <tuple> // tuple, make_tuple
#include <cstdint> // int64_t, int*_t
#include <cstdio> // printf
#include <map> // map
#include <queue> // queue, priority_queue
#include <set> // set
#include <stack> // stack
#include <deque> // deque
#include <unordered_map> // unordered_map
#include <unordered_set> // unordered_set
#include <bitset> // bitset
#include <cctype> // isupper, islower, isdigit, toupper, tolower



using namespace std;


int main(){
    int N,W,count = 0;
    cin >> N >> W;
    vector<int> answer(W+1);
    
    
    vector<int> weight(N);
    for(int i=0;i<N;i++)
        cin >> weight.at(i);
    
    /*一つ選ぶ場合*/
    for(int i=0;i<N;i++){
        if(weight.at(i) <= W)
            answer.at(weight.at(i))++;
    }
    
    /*二つ選ぶ場合*/
    for(int i=0;i<N-1;i++){
        for(int j=i+1;j<N;j++){
            int sum = 0;
            sum = weight.at(i) + weight.at(j);
            if(sum <= W)
                answer.at(sum)++;
        }
    }
    
    /*三つ選ぶ場合*/
    for(int i=0;i<N-2;i++){
        for(int j=i+1;j<N-1;j++){
            for(int k=j+1;k<N;k++){
                int sum = 0;
                sum = weight.at(i) + weight.at(j) + weight.at(k);
                if(sum <= W)
                    answer.at(sum)++;
            }
        }
    }
    
    for(int i=0;i<=W;i++){
        if(answer.at(i) >= 1)
            count++;
    }
    
    cout << count << endl;

    return 0;
}

Submission Info

Submission Time
Task B - At Most 3 (Judge ver.)
User yuyaohta
Language C++ (GCC 9.2.1)
Score 200
Code Size 1749 Byte
Status AC
Exec Time 27 ms
Memory 7152 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 4
AC × 12
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_small_00.txt, 01_small_01.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 03_corner_00.txt, 03_corner_01.txt, 03_corner_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 12 ms 3620 KiB
00_sample_01.txt AC 2 ms 3472 KiB
00_sample_02.txt AC 2 ms 3592 KiB
00_sample_03.txt AC 5 ms 3572 KiB
01_small_00.txt AC 2 ms 3528 KiB
01_small_01.txt AC 2 ms 3492 KiB
02_random_00.txt AC 26 ms 7128 KiB
02_random_01.txt AC 27 ms 7128 KiB
02_random_02.txt AC 23 ms 6980 KiB
03_corner_00.txt AC 19 ms 7124 KiB
03_corner_01.txt AC 24 ms 7116 KiB
03_corner_02.txt AC 19 ms 7152 KiB