Submission #897901

#TimeUsernameProblemLanguageResultExecution timeMemory
897901ByeWorldBoxes with souvenirs (IOI15_boxes)C++14
100 / 100
423 ms212280 KiB
#include "boxes.h" #include <bits/stdc++.h> #define fi first #define se second #define ll long long #define pb push_back using namespace std; typedef pair<ll,ll> pii; const ll MAXN = 1e7+10; const ll INF = 2e18+10; ll n, k, l; ll a[MAXN]; ll ans = INF, le = -1, ri = -1; vector <int> vec; long long delivery(int N, int K, int L, int p[]) { n = N; k = K; l = L; for(int i=0; i<n; i++){ a[i+1] = p[i]; if(p[i] <= l/2) le = i+1; } for(int i=n; i>=1; i--){ if(p[i] >= l/2) ri = i; } //cout << n << ' ' << k << ' ' << a[1] << " p\n"; ll nw = 0, use = le; if(le==-1) use = ri; for(int i=max(0ll, use-k); i<=min(n, use+k); i++){ // paling terakhirnya ada di i nw = 0; for(int j=i; j>=1; j-=k){ if(a[j] <= l/2) nw += 2*a[j]; else nw += l; } for(int j=i+1; j<=n; j+=k){ if(a[j] <= l/2) nw += l; else nw += 2*(l-a[j]); } ans = min(ans, nw); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:23:15: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   23 |     for(int i=n; i>=1; i--){
      |               ^
boxes.cpp:31:15: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   31 |  for(int i=max(0ll, use-k); i<=min(n, use+k); i++){ // paling terakhirnya ada di i
      |            ~~~^~~~~~~~~~~~
boxes.cpp:33:23: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   33 |   for(int j=i; j>=1; j-=k){
      |                      ~^~~
boxes.cpp:37:25: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   37 |   for(int j=i+1; j<=n; j+=k){
      |                        ~^~~
#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...