Submission #846252

#TimeUsernameProblemLanguageResultExecution timeMemory
846252Essa2006추월 (IOI23_overtaking)C++17
39 / 100
3521 ms16220 KiB
#include "overtaking.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
#define endl '\n'
#define FF first
#define SS second
#define all(a) a.begin(), a.end()
#define mod (ll)(1000000007)
ll n, x, y, m, l;
vector<ll> Ta, Wa, Sa;
vector<vector<ll>> E, TT;

void init(int L, int N, vector<ll> t, vector<int> w, int X, int M, vector<int> s){
    l=L, n=N, x=X, m=M;
    for(int i=0;i<t.size();i++){
        Ta.push_back(t[i]);
    }
    for(int i=0;i<w.size();i++){
        Wa.push_back(w[i]);
    }
    for(int i=0;i<s.size();i++){
        Sa.push_back(s[i]);
    }
    E.resize(n+1, vector<ll>(m+1)), TT=E;
    return;
}

ll arrival_time(ll Y){
    ll y=Y;
    Ta[n]=y, Wa[n]=x;
    for(int i=0;i<=n;i++){
        TT[i][0]=Ta[i];
    }
    for(int j=1;j<m;j++){
        for(int i=0;i<=n;i++){
            E[i][j]=TT[i][j-1]+Wa[i]*(Sa[j]-Sa[j-1]);
            TT[i][j]=E[i][j];
        }
        for(int i=0;i<=n;i++){
            for(int k=0;k<=n;k++){
                if(TT[k][j-1]<TT[i][j-1])
                    TT[i][j]=max(TT[i][j], E[k][j]);
            }
        }

    }
    return TT[n][m-1];
}
//int main()
//{
//    int L, N, X, M, Q;
//    assert(5 == scanf("%d %d %d %d %d", &L, &N, &X, &M, &Q));
//    std::vector<long long> T(N);
//    for (int i = 0; i < N; i++)
//        assert(1 == scanf("%lld", &T[i]));
//    std::vector<int> W(N);
//    for (int i = 0; i < N; i++)
//        assert(1 == scanf("%d", &W[i]));
//    std::vector<int> S(M);
//    for (int i = 0; i < M; i++)
//        assert(1 == scanf("%d", &S[i]));
//    std::vector<long long> Y(Q);
//    for (int i = 0; i < Q; i++)
//        assert(1 == scanf("%lld", &Y[i]));
//
//    fclose(stdin);
//
//    init(L, N, T, W, X, M, S);
//    std::vector<long long> res(Q);
//    for (int i = 0; i < Q; i++)
//        res[i] = arrival_time(Y[i]);
//
//    for (int i = 0; i < Q; i++)
//        printf("%lld\n", res[i]);
//    fclose(stdout);
//    return 0;
//}

Compilation message (stderr)

overtaking.cpp: In function 'void init(int, int, std::vector<long long int>, std::vector<int>, int, int, std::vector<int>)':
overtaking.cpp:16:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i=0;i<t.size();i++){
      |                 ~^~~~~~~~~
overtaking.cpp:19:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(int i=0;i<w.size();i++){
      |                 ~^~~~~~~~~
overtaking.cpp:22:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     for(int i=0;i<s.size();i++){
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...