Submission #369388

# Submission time Handle Problem Language Result Execution time Memory
369388 2021-02-21T14:07:07 Z AmineWeslati Salesman (IOI09_salesman) C++14
0 / 100
3000 ms 25504 KB
//Never stop trying
#include "bits/stdc++.h"
using namespace std;
#define boost ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)

typedef long long ll;
#define int ll
typedef string str;
typedef long double ld;
typedef pair<int, int> pi;
#define fi first
#define se second
typedef vector<int> vi;
typedef vector<pi> vpi;
#define pb push_back
#define eb emplace_back
#define sz(x) (int)x.size()
#define all(x) begin(x), end(x)
#define rall(x) rbegin(x), rend(x)
#define endl "\n"
#define FOR(i,a,b) for (int i = (a); i < (b); ++i)
#define ROF(i,a,b) for (int i = (b)-1; i >= (a); --i)

const int MOD = 1e9 + 7; //998244353
const ll INF = 1e18;
const int MX = 5e5 + 10;
const int nx[4] = {0, 0, 1, -1}, ny[4] = {1, -1, 0, 0}; //right left down up

template<class T> bool ckmin(T& a, const T& b) { return a > b ? a = b, 1 : 0; }
template<class T> bool ckmax(T& a, const T& b) { return a < b ? a = b, 1 : 0; }
ll cdiv(ll a, ll b) { return a / b + ((a ^ b) > 0 && a % b); } // divide a by b rounded up
//constexpr int log2(int x) { return 31 - __builtin_clz(x); } // floor(log2(x))

mt19937 rng(chrono::system_clock::now().time_since_epoch().count());
//mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());
ll random(ll a, ll b){
    return a + rng() % (b - a + 1);
}
#ifndef LOCAL  
#define cerr if(false) cerr
#endif
#define dbg(x) cerr << #x << " : " << x << endl; 
#define dbgs(x,y) cerr << #x << " : " << x << " / " << #y << " : " << y << endl;
#define dbgv(v) cerr << #v << " : " << "[ "; for(auto it : v) cerr << it << ' '; cerr << ']' << endl;
#define here() cerr << "here" << endl;

void IO() {
#ifdef LOCAL
    freopen("input.txt", "r", stdin); 
    freopen("output.txt", "w", stdout);
#endif
}
/////////////////////////ONLY CLEAN CODES ALLOWED/////////////////////////

int N,L,R,S;
vi T(MX),X(MX),V(MX);

bool cmp(int i, int j){
	return T[i]<T[j];
}

int cost(int i, int j){
	if(X[i]<X[j]) return (X[j]-X[i])*R;
	return (X[i]-X[j])*L;
}

int32_t main() {
    boost; IO();

    cin>>N>>L>>R>>S;
    FOR(i,1,N+1) cin>>T[i]>>X[i]>>V[i];
    T[0]=-INF,T[N+1]=INF;
    X[0]=X[N+1]=S;
    V[0]=V[N+1]=0;
    N+=2;

    vi v(N);
    iota(all(v),0);
    sort(all(v),cmp);
    
    int dp[N]; dp[0]=0;
    FOR(i,1,N){
    	dp[i]=-INF;
    	FOR(j,0,i) ckmax(dp[i],dp[j]+V[i]-cost(j,i));
    }

    cout << dp[N-1] << endl;


    return 0;
}
//Change your approach 
# Verdict Execution time Memory Grader output
1 Incorrect 7 ms 12140 KB Output isn't correct
2 Incorrect 7 ms 12140 KB Output isn't correct
3 Incorrect 8 ms 12140 KB Output isn't correct
4 Incorrect 20 ms 12140 KB Output isn't correct
5 Incorrect 60 ms 12268 KB Output isn't correct
6 Incorrect 922 ms 12780 KB Output isn't correct
7 Execution timed out 3035 ms 13644 KB Time limit exceeded
8 Execution timed out 3081 ms 15088 KB Time limit exceeded
9 Execution timed out 3085 ms 16116 KB Time limit exceeded
10 Execution timed out 3078 ms 19548 KB Time limit exceeded
11 Execution timed out 3040 ms 20376 KB Time limit exceeded
12 Execution timed out 3075 ms 21888 KB Time limit exceeded
13 Execution timed out 3074 ms 22132 KB Time limit exceeded
14 Execution timed out 3080 ms 25504 KB Time limit exceeded
15 Execution timed out 3041 ms 24688 KB Time limit exceeded
16 Execution timed out 3088 ms 24528 KB Time limit exceeded
17 Incorrect 7 ms 12140 KB Output isn't correct
18 Incorrect 8 ms 12140 KB Output isn't correct
19 Incorrect 10 ms 12140 KB Output isn't correct
20 Incorrect 20 ms 12140 KB Output isn't correct
21 Incorrect 13 ms 12140 KB Output isn't correct
22 Incorrect 74 ms 12268 KB Output isn't correct
23 Incorrect 79 ms 12256 KB Output isn't correct
24 Incorrect 50 ms 12268 KB Output isn't correct
25 Execution timed out 3078 ms 14828 KB Time limit exceeded
26 Execution timed out 3054 ms 16916 KB Time limit exceeded
27 Execution timed out 3078 ms 19564 KB Time limit exceeded
28 Execution timed out 3091 ms 20716 KB Time limit exceeded
29 Execution timed out 3043 ms 23052 KB Time limit exceeded
30 Execution timed out 3089 ms 23724 KB Time limit exceeded