Submission #961880

# Submission time Handle Problem Language Result Execution time Memory
961880 2024-04-12T16:20:45 Z IUA_Hasin Holiday (IOI14_holiday) C++17
0 / 100
9 ms 1308 KB
#include"holiday.h"

#include <bits/stdc++.h>
 
#define endl                                "\n"
#define yeap                                cout<<"YES"<<endl
#define nope                                cout<<"NO"<<endl
#define ll                                  long long
 
using namespace std;

const ll N = 100;
ll vis[N];

long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
    ll sum = 0;
    for(int i=0; i<n; i++){
        sum = sum+attraction[i];
    }
    if(start==0){
        if(d>=(2*n-1)){
            return sum;
        } else if(d<=2){
            ll ans = attraction[0];
            if(d==0){
                return 0;
            } else {
                if(d==1){
                    return ans;
                } else if(d==2){
                    ll b = attraction[1];
                    ans = max(ans, b);
                    return ans;
                }
            }
        } else {
            ll a = min(d-1, n-1);
            ll b;
            if(d%2==0){
                b = d/2;
            } else {
                b = floor(d/2)+1;
            }
            b--;
            for(int i=0; i<b; i++){
                ll a = attraction[i];
                vis[a]++;
            }
            ll ans1 = 0;
            for(int i=b; i<=a; i++){
                ll a = attraction[i];
                ll extr = d-i-1;
                ll ans = 0;
                for(int i=100; i>=0; i--){
                    if(vis[i]>0){
                        if(extr<=vis[i]){
                            ans = ans+i*extr;
                            break;
                        } else {
                            ans = ans+i*vis[i];
                            extr = extr-vis[i];
                        }
                    }
                }
                ans = ans+attraction[i];
                cout<<ans<<endl;
                ans1 = max(ans1, ans);
                vis[a]++;
            }
            // for(int i=0; i<100; i++){
            //     cout << vis[i] << " ";
            // }
            // cout<<endl;
            return ans1;
        }
    }
}

Compilation message

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:77:1: warning: control reaches end of non-void function [-Wreturn-type]
   77 | }
      | ^
# Verdict Execution time Memory Grader output
1 Correct 1 ms 600 KB Output is correct
2 Correct 1 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Correct 1 ms 756 KB Output is correct
5 Runtime error 1 ms 1116 KB Execution killed with signal 11
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 604 KB Output is correct
2 Correct 7 ms 604 KB Output is correct
3 Correct 6 ms 600 KB Output is correct
4 Correct 6 ms 600 KB Output is correct
5 Incorrect 9 ms 1016 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 604 KB Output is correct
2 Correct 1 ms 604 KB Output is correct
3 Correct 1 ms 604 KB Output is correct
4 Runtime error 1 ms 1116 KB Execution killed with signal 11
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 8 ms 856 KB Output is correct
2 Correct 8 ms 604 KB Output is correct
3 Runtime error 4 ms 1308 KB Execution killed with signal 11
4 Halted 0 ms 0 KB -