Submission #996919

#TimeUsernameProblemLanguageResultExecution timeMemory
996919TgX_2Boxes with souvenirs (IOI15_boxes)C++17
10 / 100
1 ms2396 KiB
/*----------------------------- Author : TgX.2 11Ti - K28 - CHV -----------------------------*/ #ifndef TGX #include "boxes.h" #endif // !TGX #include <bits/stdc++.h> using namespace std; #define FOR(i,a,b) for(int i=(a), _b=(b);i<=_b;++i) #define FORD(i,a,b) for(int i=(a), _b=(b);i>=_b;--i) #define FORC(i,a,b,c) for(int i=(a), _b=(b), _c=(c);i<=_b;i+=_c) #define FORSq(i,a,b) for(int i=(a), _b=(b);i*i<=_b;++i) #define FORSt(i,s) for(int i=0, _s=(int)(s.size());i<_s;++i) #define fi first #define se second #define pb push_back #define mp make_pair #define ers erase #define ins insert #define rvs reverse #define len(x) (int)((x).size()) #define all(x) (x).begin(), (x).end() #define alln(x,n) (x)+1, (x)+1+(n) #define _ <<" "<< #define __ << "\n" #define ___ << " " #define intmax 1e9 #define intmin -1e9 #define llongmax 1e18 #define llongmin -1e18 #define memo(a, val) memset((a), (val), sizeof((a))) template<typename T1, typename T2> bool mini(T1 &a, T2 b) {if(a>b) a=b; else return 0; return 1;} template<typename T1, typename T2> bool maxi(T1 &a, T2 b) {if(a<b) a=b; else return 0; return 1;} const int maxn = 1e7 + 7; long long b[maxn], c[maxn]; long long delivery(int n, int k, int l, int a[]) { // sort(alln(a, n)); FOR(i, 1, n) { b[i] = min(l, a[i - 1] * 2); if (i > k) b[i] += b[i - k]; } int ans = b[n]; FORD(i, n, 1) { c[i] = min(l, (l - a[i - 1]) * 2); if (i + k <= n) c[i] += c[i + k]; mini(ans, b[i - 1] + c[i]); } return ans; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:58:18: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   58 |     int ans = b[n];
      |               ~~~^
boxes.cpp: In instantiation of 'bool mini(T1&, T2) [with T1 = int; T2 = long long int]':
boxes.cpp:64:34:   required from here
boxes.cpp:43:16: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   43 |     {if(a>b) a=b; else return 0; return 1;}
      |                ^
#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...