Submission #370330

# Submission time Handle Problem Language Result Execution time Memory
370330 2021-02-23T19:23:01 Z FatihSolak Kas (COCI17_kas) C++17
50 / 100
413 ms 401020 KB
#include <bits/stdc++.h>
#define N 505
#define M 100005
using namespace std;
int dp[N][M];
int arr[N];
void solve(){
    for(int i=0;i<N;i++){
        for(int j = 0;j<M;j++){
            dp[i][j] = -1e9;
        }
    }
    dp[0][0] = 0;
    int n;
    cin >> n;
    for(int i=1;i<=n;i++){
        cin >> arr[i];
    }
    if(n <= 13){
        assert(0);
    }
    sort(arr+1,arr+n+1);
    int sum = 0;
    int ans = -1e9;
    for(int i=1;i<=n;i++){
        for(int j=0;j<M;j++){
            dp[i][j] = dp[i-1][j];
        }
        for(int j=0;j<M-arr[i];j++){
            dp[i][j] = max(dp[i][j],min({dp[i-1][j],dp[i-1][arr[i]],dp[i-1][j+arr[i]]})+arr[i]);
        }
        for(int j=0;j<M-arr[i];j++){
            dp[i][j+arr[i]] = max(dp[i][j+arr[i]],dp[i-1][j]);
        }
        sum+=arr[i];
        for(int j=0;j<M;j++){
            ans = max(ans,dp[i][j]);
        }
    }
    cout << sum-ans;
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    #ifdef Local
    freopen("in.txt","r",stdin);
    freopen("out.txt","w",stdout);
    #endif
    int t=1;
    //cin>>t;
    while(t--){
        solve();
    }
    #ifdef Local
    cout<<endl<<fixed<<setprecision(2)<<1000.0 * clock() / CLOCKS_PER_SEC<< " milliseconds ";
    #endif
}
# Verdict Execution time Memory Grader output
1 Runtime error 405 ms 401004 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 387 ms 401004 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 385 ms 401004 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 413 ms 401020 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 382 ms 400908 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 136 ms 197996 KB Output is correct
2 Correct 154 ms 197996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 144 ms 198144 KB Output is correct
2 Correct 144 ms 197996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 225 ms 197996 KB Output is correct
2 Correct 240 ms 197996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 261 ms 197996 KB Output is correct
2 Correct 315 ms 198124 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 334 ms 197996 KB Output is correct
2 Correct 357 ms 197996 KB Output is correct