제출 #640209

#제출 시각아이디문제언어결과실행 시간메모리
640209ymm선물상자 (IOI15_boxes)C++17
10 / 100
1 ms300 KiB
#include "boxes.h" #include <bits/stdc++.h> #define Loop(x,l,r) for (ll x = (l); x < (r); ++x) #define LoopR(x,l,r) for (ll x = (r)-1; x >= (l); --x) typedef long long ll; typedef std::pair<int, int> pii; typedef std::pair<ll , ll > pll; using namespace std; static vector<int> a, b; static ll calc(vector<int> &v, int st, int k) { ll ans = 0; for (int i = st; i < v.size(); i += k) { ans += v[i]; ans += v[i]; } return ans; } long long delivery(int N, int K, int L, int p[]) { Loop (i,0,N) { if (p[i] < L-p[i]) a.push_back(p[i]); else b.push_back(L-p[i]); } reverse(a.begin(), a.end()); ll ans = calc(a, 0, K) + calc(b, 0, K); Loop (i,1,K) ans = min(ans, calc(a, i, K) + calc(b, K-i, K) + L + L); return ans; }

컴파일 시 표준 에러 (stderr) 메시지

boxes.cpp: In function 'll calc(std::vector<int>&, int, int)':
boxes.cpp:15:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |  for (int i = st; i < v.size(); i += k) {
      |                   ~~^~~~~~~~~~
boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:33:26: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   33 |   ans = min(ans, calc(a, i, K) + calc(b, K-i, K) + L + L);
      |                          ^
boxes.cpp:33:43: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   33 |   ans = min(ans, calc(a, i, K) + calc(b, K-i, K) + L + L);
      |                                          ~^~
#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...