제출 #415067

#제출 시각아이디문제언어결과실행 시간메모리
415067victoriad선물상자 (IOI15_boxes)C++14
0 / 100
305 ms524292 KiB
#include "boxes.h" #include <vector> using namespace std; int ans; void dfs(int nodo,long long int &x,int &K,vector<bool>v,vector<vector<int> >&g,vector<int>&box){ v[nodo]=true; if(box[nodo]<=K){ K-=box[nodo]; box[nodo]=0; } else{ box[nodo]-=K; K=0; } if(K!=0){ for(int i:g[nodo]){ if(!v[i]){ x++; dfs(i,x,K,v,g,box); } } } else{ int L=g.size(); ans=x; x+=min(nodo,L-nodo); } } long long delivery(int N, int K, int L, int p[]) { vector<int>box(L,0); for(int i=0;i<N;i++){ box[p[i]]++; } vector<vector<int> >g(L); for(int i=0;i<L-1;i++){ g[i].push_back(i+1); g[i+1].push_back(i); } g[L-1].push_back(0); g[0].push_back(L-1); int n=0; long long int r=0; while(n<N){ vector<bool>v(L,false); long long int x=0; int k=K; dfs(0,x,k,v,g,box); r+=ans; n+=K-k; } return r; }

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

boxes.cpp: In function 'void dfs(int, long long int&, int&, std::vector<bool>, std::vector<std::vector<int> >&, std::vector<int>&)':
boxes.cpp:26:17: warning: conversion from 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   26 |     int L=g.size();
      |           ~~~~~~^~
boxes.cpp:27:9: warning: conversion from 'long long int' to 'int' may change value [-Wconversion]
   27 |     ans=x;
      |         ^
#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...