Submission #1246314


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define int long long
bool dp[2][555555];
signed main(){
  int n,m;
  cin>>n>>m;
  int a[n];
  for(int i=0;i<n;i++) cin>>a[i];
  int s=0;
  for(int i=0;i<n;i++) s+=a[i];
  if(s<m){
    cout<<-1<<endl;
    return 0;
  }
  memset(dp,0,sizeof(dp));
  dp[0][0]=1;
  for(int i=0;i<n;i++){
    bool f=i%2;
    for(int j=0;j<555555;j++) dp[!f][j]=0;
    for(int j=0;j<555555;j++){
      if(!dp[f][j]) continue;
      dp[!f][j]=1;
      if(j+a[i]<555555) dp[!f][j+a[i]]=1;
    }
  }
  int ans=s;
  for(int j=0;j<555555;j++){
    if(s-j>=m&&dp[n%2][j]) ans=s-j;
  }
  cout<<ans<<endl;
  return 0;
}

Submission Info

Submission Time
Task G - haruki の覚醒め
User beet
Language C++14 (GCC 5.4.1)
Score 100
Code Size 668 Byte
Status AC
Exec Time 32 ms
Memory 1280 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 34
Set Name Test Cases
All 00-sample1, 00-sample2, corner00, corner01, random00-00, random00-01, random00-02, random00-03, random00-04, random00-05, random00-06, random00-07, random00-08, random00-09, random00-10, random00-11, random00-12, random00-13, random00-14, random00-15, random00-16, random00-17, random00-18, random00-19, random00-20, random00-21, random00-22, random00-23, random00-24, random00-25, random00-26, random00-27, random00-28, random00-29
Case Name Status Exec Time Memory
00-sample1 AC 4 ms 1280 KB
00-sample2 AC 1 ms 256 KB
corner00 AC 3 ms 1280 KB
corner01 AC 30 ms 1280 KB
random00-00 AC 4 ms 1280 KB
random00-01 AC 8 ms 1280 KB
random00-02 AC 27 ms 1280 KB
random00-03 AC 16 ms 1280 KB
random00-04 AC 26 ms 1280 KB
random00-05 AC 17 ms 1280 KB
random00-06 AC 15 ms 1280 KB
random00-07 AC 32 ms 1280 KB
random00-08 AC 15 ms 1280 KB
random00-09 AC 31 ms 1280 KB
random00-10 AC 13 ms 1280 KB
random00-11 AC 14 ms 1280 KB
random00-12 AC 23 ms 1280 KB
random00-13 AC 25 ms 1280 KB
random00-14 AC 4 ms 1280 KB
random00-15 AC 10 ms 1280 KB
random00-16 AC 27 ms 1280 KB
random00-17 AC 23 ms 1280 KB
random00-18 AC 13 ms 1280 KB
random00-19 AC 7 ms 1280 KB
random00-20 AC 31 ms 1280 KB
random00-21 AC 7 ms 1280 KB
random00-22 AC 6 ms 1280 KB
random00-23 AC 23 ms 1280 KB
random00-24 AC 4 ms 1280 KB
random00-25 AC 16 ms 1280 KB
random00-26 AC 20 ms 1280 KB
random00-27 AC 24 ms 1280 KB
random00-28 AC 5 ms 1280 KB
random00-29 AC 31 ms 1280 KB