Submission #415086

#TimeUsernameProblemLanguageResultExecution timeMemory
415086victoriad선물상자 (IOI15_boxes)C++14
0 / 100
285 ms524292 KiB
#include "boxes.h" #include <vector> using namespace std; int ans,n; int dfs(int nodo,bool b,int &K,vector<bool>v,vector<vector<int> >&g,vector<int>&box){ v[nodo]=true; if(box[nodo]<=K){ K-=box[nodo]; if(box[nodo]!=0 && nodo<=g.size()/2)b=false; n-=box[nodo]; box[nodo]=0; } else{ if(nodo<=g.size()/2)b=false; box[nodo]-=K; K=0; n-=K; } if(K!=0 && n!=0){ for(int i:g[nodo]){ if(!v[i]){ return dfs(i,b,K,v,g,box); } } } else{ int L=g.size(); if(nodo<=L/2)ans=2*nodo; else if(b){ ans=2*(L-nodo); } else{ ans=L; } return ans; } } 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); n=N; long long int r=0; while(n>0){ bool b=true; vector<bool>v(L,false); long long int x=0; int k=K; r+=dfs(0,b,k,v,g,box); } return r; }

Compilation message (stderr)

boxes.cpp: In function 'int dfs(int, bool, int&, std::vector<bool>, std::vector<std::vector<int> >&, std::vector<int>&)':
boxes.cpp:11:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |     if(box[nodo]!=0 && nodo<=g.size()/2)b=false;
      |                        ~~~~^~~~~~~~~~~~
boxes.cpp:17:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |     if(nodo<=g.size()/2)b=false;
      |        ~~~~^~~~~~~~~~~~
boxes.cpp:31:17: warning: conversion from 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} to 'int' may change value [-Wconversion]
   31 |     int L=g.size();
      |           ~~~~~~^~
boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:60:23: warning: unused variable 'x' [-Wunused-variable]
   60 |         long long int x=0;
      |                       ^
boxes.cpp: In function 'int dfs(int, bool, int&, std::vector<bool>, std::vector<std::vector<int> >&, std::vector<int>&)':
boxes.cpp:42:1: warning: control reaches end of non-void function [-Wreturn-type]
   42 | }
      | ^
#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...