Submission #370329

# Submission time Handle Problem Language Result Execution time Memory
370329 2021-02-23T19:22:04 Z FatihSolak Kas (COCI17_kas) C++17
60 / 100
357 ms 198144 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];
    }
    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 Incorrect 125 ms 198060 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 128 ms 197996 KB Output is correct
2 Correct 128 ms 197996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 127 ms 197996 KB Output is correct
2 Incorrect 125 ms 197996 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 127 ms 198144 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 129 ms 198124 KB Output is correct
2 Incorrect 127 ms 198124 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 139 ms 197944 KB Output is correct
2 Correct 142 ms 198028 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 143 ms 197996 KB Output is correct
2 Correct 146 ms 197996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 224 ms 198124 KB Output is correct
2 Correct 246 ms 198124 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 267 ms 197996 KB Output is correct
2 Correct 309 ms 197996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 355 ms 198124 KB Output is correct
2 Correct 357 ms 198124 KB Output is correct