Submission #1966283


Source Code Expand

/*  ***  In The Name of God ... ***  */ 
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;


//#define int long long
#define all(v) v.begin() , v.end()
#define pb push_back
#define endl '\n' 
template<typename T> inline bool smin(T &a, const T &b){ return b < a ? a = b,1:0;}
template<typename T> inline bool smax(T &a, const T &b){ return a < b ? a = b,1:0;}

const int N = 5000 + 10 ;

int n , a [ N ] , k ; 
bool dp [ N ] ;

bool chk ( int mid ) {
	memset ( dp , 0 , sizeof dp ) ;
	dp [ 0 ] = 1 ;
	for ( int i = 1 ; i <= mid ; i++ ) {
		for ( int j = N - 1 ; j >= a [ i ] ; j-- ) {
			dp [ j ] |= dp [ j - a [ i ] ] ; 
		}
	}
	bool isFound = 0 ;
	for ( int i = max ( 0 , k - a [ mid ) ; i < k ; i++ )
		isFound |= dp [ i ] ;
	return !isFound ; 
}

int32_t main()
{
	ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
	cin >> n >> k ; 
	for ( int i = 1 ; i <= n ; i++ )
		cin >> a [ i ] ;
	sort ( a + 1 , a + n + 1 ) ; 
	int lo = -1 , hi = n + 1 ;
	while ( hi - lo > 1 ) {
		int mid = ( hi + lo ) >> 1 ; 
		( chk ( mid ) ? lo : hi ) = mid ; 
	}
	cout << lo << '\n' ; 
}

Submission Info

Submission Time
Task D - No Need
User Nima10Khodaveisi
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1173 Byte
Status CE

Compile Error

./Main.cpp: In function ‘bool chk(int)’:
./Main.cpp:31:38: error: expected ‘]’ before ‘)’ token
  for ( int i = max ( 0 , k - a [ mid ) ; i < k ; i++ )
                                      ^