Submission #781969

#TimeUsernameProblemLanguageResultExecution timeMemory
781969LyricallyBoxes with souvenirs (IOI15_boxes)C++17
35 / 100
901 ms332 KiB
#include<bits/stdc++.h> using namespace std; #define pii pair<int,int> #define pb push_back #define rep(i,n) for(int i=0;i<n;i++) #define rep1(i,n) for(int i=1;i<=n;i++) int read(){int x;scanf("%d",&x);return x;} void print(int x){printf("%d\n",x);} const int mod=1000000007; long long delivery(int n,int k,int l,int p[]) { double st=clock(); long long res=(1LL<<60); while(clock()-st<0.9*CLOCKS_PER_SEC) { long long tot=0; for(int i=0;i<n;i+=k) { vector<int> v; for(int j=i;j<=min(i+k-1,n-1);j++){v.pb(p[j]);} int tmp=l; int ldis=0,rdis=0; for(auto x:v) { if(x<=l-x){ldis=max(ldis,x);} else{rdis=max(rdis,l-x);} } tmp=min(tmp,2*(ldis+rdis)); tot+=tmp; } res=min(res,tot);random_shuffle(p,p+n); } return res; }

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:12:20: warning: conversion from 'clock_t' {aka 'long int'} to 'double' may change value [-Wconversion]
   12 |     double st=clock();
      |               ~~~~~^~
boxes.cpp:14:16: warning: conversion from 'clock_t' {aka 'long int'} to 'double' may change value [-Wconversion]
   14 |     while(clock()-st<0.9*CLOCKS_PER_SEC)
      |           ~~~~~^~
boxes.cpp: In function 'int read()':
boxes.cpp:7:23: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 | int read(){int x;scanf("%d",&x);return 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...