提出 #73262620
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#include <atcoder/all>
using namespace atcoder;
using ll=long long;
using ld=long double;
using vi=vector<int>;
using vvi=vector<vi>;
using vvvi=vector<vvi>;
using vd=vector<double>;
using vvd=vector<vd>;
using vvvd=vector<vvd>;
using vld=vector<ld>;
using vvld=vector<vld>;
using vvvld=vector<vvld>;
using vc=vector<char>;
using vvc=vector<vc>;
using vvvc=vector<vvc>;
using vs=vector<string>;
using vvs=vector<vs>;
using vvvs=vector<vvs>;
using vl=vector<ll>;
using vvl=vector<vl>;
using vvvl=vector<vvl>;
using vb=vector<bool>;
using vvb=vector<vb>;
using vvvb=vector<vvb>;
using pi=pair<int,int>;
using vpi=vector<pi>;
using vvpi=vector<vpi>;
using vvvpi=vector<vvpi>;
using pl=pair<ll,ll>;
using vpl=vector<pl>;
using vvpl=vector<vpl>;
using vvvpl=vector<vvpl>;
using si=set<int>;
using vsi=vector<si>;
using vvsi=vector<vsi>;
using vvvsi=vector<vvsi>;
using sl=set<ll>;
using vsl=vector<sl>;
using vvsl=vector<vsl>;
using vvvsl=vector<vvsl>;
using ss=set<string>;
using svi=set<vi>;
using svvi=set<vvi>;
using svvvi=set<vvvi>;
using svl=set<vl>;
using svvl=set<vvl>;
using svvvl=set<vvvl>;
using svs=set<vs>;
using sb=set<bool>;
using spi=set<pi>;
using svpi=set<vpi>;
using svvpi=set<vvpi>;
using svvvpi=set<vvvpi>;
using spl=set<pl>;
using svpl=set<vpl>;
using svvpl=set<vvpl>;
using svvvpl=set<vvvpl>;
template <typename T> using PQ=priority_queue<T>;
template <typename T> using PQG=priority_queue<T,vector<T>,greater<T>>;
#define endl '\n'
#define rep(i, n) for (ll i = 0; i < (int)(n); i++)
#define rep2(i,s,n) for (ll i = (s); i < (int)(n); i++)
#define rep3(i,n) for (ll i = 1; i <= (int)(n); i++)
#define rep4(i,n) for (ll i = (int)(n)-1;i >= 0;i--)
#define Yes(a) cout<<(a?"Yes":"No")<<"\n"
#define YES(a) cout<<(a?"YES":"NO")<<"\n"
#define Takahashi(a) cout<<(a?"Takahashi":"Aoki")
#define Alice(a) cout<<(a?"Alice":"Bob")
#define First(a) cout<<(a?"First":"Second")
#define Possible(a) cout<<(a?"Possible":"Impossible")
#define which(a,s,t) cout<<(a?s:t)<<"\n"
#define fls flush(cout)
#define fix(a) cout<<fixed<<setprecision(a)
#define fi first
#define se second
#define pb push_back
#define pf push_front
#define ppb pop_back
#define ppf pop_front
#define em emplace
#define ef emplace_front
#define eb emplace_back
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define SORT(v) sort(all(v))
#define RSORT(v) sort(rall(v))
#define REV(v) reverse(all(v))
#define MIN(v) *min_element(all(v))
#define MAX(v) *max_element(all(v))
#define SZ(v) (ll)(v.size())
#define uniq(v) v.erase(unique(all(v),end(v)))
template <typename T, typename S> bool chmax(T &a, const S &b){return(a<b?a=b,1:0);}
template <typename T, typename S> bool chmin(T &a, const S &b){return(a>b?a=b,1:0);}
namespace io
{
inline void scan(int &a){cin>>a;}
inline void scan(ll &a){cin>>a;}
inline void scan(char &a){cin>>a;}
inline void scan(string &a){cin>>a;}
inline void scan(float &a){cin>>a;}
inline void scan(double &a){cin>>a;}
inline void scan(ld &a){cin>>a;}
inline void scan(vb &v){
rep(i,v.size()){
int a;
scan(a);
v[i]=a;
}
}
template<typename T>
inline void scan(vector<T> &v){for(auto &a:v)scan(a);}
template<typename T>
inline void scan(deque<T> &v){for(auto &a:v)scan(a);}
template<typename T,size_t size>
inline void scan(array<T,size> &v){for(auto &a:v)scan(a);}
template<typename T,typename S>
inline void scan(pair<T,S> &p){scan(p.fi);scan(p.se);}
template<typename T,size_t size>
inline void scan(T (&v)[size]){for(auto &a:v)scan(a);}
template<typename T>
inline void scan(T &a){cin>>a;}
inline void in(){}
template<typename F,typename...B>
inline void in(F &f,B &...b){
scan(f);
in(b...);
}
inline void print(){cout<<" ";}
inline void print(const bool &a){cout<<a;}
inline void print(const int &a){cout<<a;}
inline void print(const ll &a){cout<<a;}
inline void print(const char &a){cout<<a;}
inline void print(const char a[]){cout<<a;}
inline void print(const string &a){cout<<a;}
inline void print(const float &a){cout<<a;}
inline void print(const double &a){cout<<a;}
inline void print(const ld &a){cout<<a;}
template<typename T>
inline void print(const vector<T> &v){
if(v.empty())return;
print(v[0]);
for(auto i=v.begin();++i!=v.end();){
cout<<' ';
print(*i);
}
}
template<typename T>
inline void print(const deque<T> &v){
if(v.empty())return;
print(v[0]);
for(auto i=v.begin();++i!=v.end();){
cout<<' ';
print(*i);
}
}
template<typename T,size_t size>
inline void print(const array<T,size> &v){
print (v[0]);
for(auto i=v.begin();++i!=v.end();){
cout<<' ';
print(*i);
}
}
template<typename T,typename S>
inline void print(const pair<T,S> &p){print(p.fi);print();print(p.se);}
template<typename T,size_t size>
inline void print(const T (&v)[size]){
print(v[0]);
for(auto i=v;++i!=end(v);){
cout<<' ';
print(*i);
}
}
template<typename T>
inline void print(const T &a){cout<<a;}
inline void out(){cout<<"\n";}
template<typename T>
inline void out(const T &t){
print (t);
cout<<"\n";
}
template <typename F,typename...B>
inline void out(const F &f,const B &...b){
print(f);
cout<<' ';
out(b...);
}
}
using namespace io;
//using mint=modint998244353;
using mint=modint1000000007;
template<typename T> using BIT=fenwick_tree<T>;
const int INF=1<<30;
const ll LINF=1LL<<60;
const ld EPS=1e-9;
const ld PI=3.141592653589793238;
const int dx[8]={0,1,0,-1,-1,-1,1,1};
const int dy[8]={1,0,-1,0,-1,1,-1,1};
bool outgrid(int x,int y,int H,int W){
return !(0<=x&&x<H&&0<=y&&y<W);
}
namespace mintnCk{
const int nCkmax=5000000;
mint fac[nCkmax],finv[nCkmax],inv[nCkmax];
void nCkinit(){
const ll mod=mint::mod();
fac[0]=fac[1]=1;
finv[0]=finv[1]=1;
inv[1]=1;
rep2(i,2,nCkmax){
fac[i]=fac[i-1]*i;
inv[i]=mod-inv[mod%i]*(mod/i);
finv[i]=finv[i-1]*inv[i];
}
}
template<typename T,typename S>
mint nCk(T n,S k){
if(n<k)return 0;
if(n<0||k<0)return 0;
return fac[n]*finv[k]*finv[n-k];
}
}
//int main(){using namespace mintnCk; nCkinit();nCk(n,k)}
namespace intnCk{
ll mod;
const int nCkmax=5000000;
ll fac[nCkmax],finv[nCkmax],inv[nCkmax];
template<typename T>
void nCkinit(T a){
mod=a;
fac[0]=fac[1]=1;
finv[0]=finv[1]=1;
inv[1]=1;
for(int i=2;i<nCkmax;i++){
fac[i]=fac[i-1]*i%mod;
inv[i]=mod-inv[mod%i]*(mod/i)%mod;
finv[i]=finv[i-1]*inv[i]%mod;
}
}
template<typename T,typename S>
ll nCk(T n,S k){
if(n<k)return 0;
if(n<0||k<0)return 0;
return fac[n]*(finv[k]*finv[n-k]%mod)%mod;
}
}
//int main(){using namespace intnCk; nCkinit(mod);nCk(n,k)}
namespace my_numbers
{
vpl prime_factorize(ll a){
vpl rtn(0);
for(ll p=2;p*p<=a;p++){
if(a%p)continue;
int num=0;
while(a%p==0){
num++;
a/=p;
}
rtn.pb({p,num});
}
if(a!=1)rtn.pb({a,1});
return rtn;
}
}
using namespace my_numbers;
ll op(ll l,ll r){return max(l,r);}
ll e(){return -1;}
int main(){
ll N,K;
in(N,K);
vl A(N);
in(A);
ll wa=0,ac=LINF;
while(wa+1<ac){
ll mid=(wa+ac)/2;
bool ok=true;
ll now=0;
int cnt=0;
rep(i,N){
now+=A[i];
if(now>=mid){
cnt++;
now=0;
}
}
if(cnt>=K)wa=mid;
else ac=mid;
}
out(wa);
//this is not wrong answer:)
}
提出情報
| 提出日時 |
|
| 問題 |
D - 配達ルートの分割 |
| ユーザ |
tanpaku |
| 言語 |
C++23 (GCC 15.2.0) |
| 得点 |
400 |
| コード長 |
8031 Byte |
| 結果 |
AC |
| 実行時間 |
60 ms |
| メモリ |
62784 KiB |
コンパイルエラー
./Main.cpp: In function 'int main()':
./Main.cpp:287:14: warning: unused variable 'ok' [-Wunused-variable]
287 | bool ok=true;
| ^~
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
400 / 400 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample01.txt, sample02.txt, sample03.txt |
| All |
sample01.txt, sample02.txt, sample03.txt, in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in50.txt, in51.txt, in52.txt, in53.txt, in54.txt, in55.txt, in56.txt, in57.txt, in58.txt, in59.txt, in60.txt, in61.txt, in62.txt, in63.txt, in64.txt, in65.txt, in66.txt, in67.txt, in68.txt, in69.txt, in70.txt, in71.txt, in72.txt, in73.txt, in74.txt, in75.txt, in76.txt, in77.txt, in78.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| in01.txt |
AC |
26 ms |
62204 KiB |
| in02.txt |
AC |
26 ms |
62180 KiB |
| in03.txt |
AC |
25 ms |
62176 KiB |
| in04.txt |
AC |
26 ms |
62140 KiB |
| in05.txt |
AC |
26 ms |
62076 KiB |
| in06.txt |
AC |
26 ms |
62160 KiB |
| in07.txt |
AC |
25 ms |
62160 KiB |
| in08.txt |
AC |
25 ms |
62116 KiB |
| in09.txt |
AC |
57 ms |
62656 KiB |
| in10.txt |
AC |
57 ms |
62640 KiB |
| in11.txt |
AC |
57 ms |
62640 KiB |
| in12.txt |
AC |
51 ms |
62660 KiB |
| in13.txt |
AC |
57 ms |
62724 KiB |
| in14.txt |
AC |
60 ms |
62660 KiB |
| in15.txt |
AC |
58 ms |
62776 KiB |
| in16.txt |
AC |
25 ms |
62180 KiB |
| in17.txt |
AC |
57 ms |
62716 KiB |
| in18.txt |
AC |
40 ms |
62596 KiB |
| in19.txt |
AC |
40 ms |
62636 KiB |
| in20.txt |
AC |
60 ms |
62676 KiB |
| in21.txt |
AC |
57 ms |
62596 KiB |
| in22.txt |
AC |
48 ms |
62724 KiB |
| in23.txt |
AC |
48 ms |
62596 KiB |
| in24.txt |
AC |
50 ms |
62656 KiB |
| in25.txt |
AC |
50 ms |
62660 KiB |
| in26.txt |
AC |
60 ms |
62660 KiB |
| in27.txt |
AC |
41 ms |
62644 KiB |
| in28.txt |
AC |
59 ms |
62732 KiB |
| in29.txt |
AC |
25 ms |
62160 KiB |
| in30.txt |
AC |
25 ms |
62140 KiB |
| in31.txt |
AC |
25 ms |
61968 KiB |
| in32.txt |
AC |
24 ms |
62228 KiB |
| in33.txt |
AC |
24 ms |
62076 KiB |
| in34.txt |
AC |
24 ms |
62152 KiB |
| in35.txt |
AC |
24 ms |
62180 KiB |
| in36.txt |
AC |
24 ms |
62180 KiB |
| in37.txt |
AC |
25 ms |
62180 KiB |
| in38.txt |
AC |
25 ms |
62100 KiB |
| in39.txt |
AC |
40 ms |
62676 KiB |
| in40.txt |
AC |
33 ms |
62256 KiB |
| in41.txt |
AC |
59 ms |
62716 KiB |
| in42.txt |
AC |
51 ms |
62656 KiB |
| in43.txt |
AC |
51 ms |
62716 KiB |
| in44.txt |
AC |
58 ms |
62660 KiB |
| in45.txt |
AC |
40 ms |
62284 KiB |
| in46.txt |
AC |
51 ms |
62680 KiB |
| in47.txt |
AC |
58 ms |
62644 KiB |
| in48.txt |
AC |
25 ms |
62244 KiB |
| in49.txt |
AC |
25 ms |
62220 KiB |
| in50.txt |
AC |
57 ms |
62716 KiB |
| in51.txt |
AC |
57 ms |
62640 KiB |
| in52.txt |
AC |
58 ms |
62596 KiB |
| in53.txt |
AC |
52 ms |
62640 KiB |
| in54.txt |
AC |
52 ms |
62568 KiB |
| in55.txt |
AC |
45 ms |
62660 KiB |
| in56.txt |
AC |
45 ms |
62676 KiB |
| in57.txt |
AC |
56 ms |
62784 KiB |
| in58.txt |
AC |
54 ms |
62772 KiB |
| in59.txt |
AC |
58 ms |
62656 KiB |
| in60.txt |
AC |
59 ms |
62656 KiB |
| in61.txt |
AC |
25 ms |
62036 KiB |
| in62.txt |
AC |
25 ms |
62112 KiB |
| in63.txt |
AC |
25 ms |
62180 KiB |
| in64.txt |
AC |
25 ms |
62204 KiB |
| in65.txt |
AC |
25 ms |
62092 KiB |
| in66.txt |
AC |
25 ms |
62244 KiB |
| in67.txt |
AC |
24 ms |
62100 KiB |
| in68.txt |
AC |
24 ms |
62140 KiB |
| in69.txt |
AC |
24 ms |
62076 KiB |
| in70.txt |
AC |
24 ms |
62140 KiB |
| in71.txt |
AC |
24 ms |
62140 KiB |
| in72.txt |
AC |
24 ms |
62056 KiB |
| in73.txt |
AC |
24 ms |
62140 KiB |
| in74.txt |
AC |
24 ms |
62152 KiB |
| in75.txt |
AC |
24 ms |
62160 KiB |
| in76.txt |
AC |
24 ms |
62244 KiB |
| in77.txt |
AC |
24 ms |
62220 KiB |
| in78.txt |
AC |
24 ms |
62172 KiB |
| sample01.txt |
AC |
24 ms |
62244 KiB |
| sample02.txt |
AC |
24 ms |
62180 KiB |
| sample03.txt |
AC |
24 ms |
62244 KiB |