QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#36127 | #4269. Rainy Markets | Wuyanru | 0 | 2ms | 13972kb | C++17 | 4.6kb | 2022-06-24 14:57:20 | 2022-06-24 14:57:20 |
Judging History
answer
//DABC ABCD ABCA DBAA
#include<ext/pb_ds/tree_policy.hpp>
#include<ext/pb_ds/assoc_container.hpp>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<bitset>
#include<cstdio>
#include<vector>
#include<random>
#include<ctime>
#include<queue>
#include<map>
#include<set>
namespace nb
{
#define y1 qwyeiurbvyiorvyiuqwrqweir
#define j1 rwehiuqrwiviouwaawhrfiuab
using namespace __gnu_pbds;
using namespace std;
#define pause system("pause")
#define memset(array,num) memset(array,num,sizeof(array))
template<typename A,typename B>
using ht=gp_hash_table<A,B>;
template<typename A>
using pqueue=priority_queue<A,vector<A>,greater<A> >;
template<typename A>
using prque=priority_queue<A>;
template<typename A>
using vc=vector<A>;
using ll=long long;
using db=double;
using ld=long double;
using pi=pair<int,int>;
using vpi=vector<pi>;
using pli=pair<ll,int>;
using vpli=vector<pli>;
using pl=pair<ll,ll>;
using vi=vector<int>;
using vpl=vector<pl>;
using vl=vector<ll>;
mt19937 _rand(time(0)^clock());
inline int lowbit(int i){ return i&(-i);}
inline int read()
{
int s=0,w=1;char ch;
while((ch=getchar())>'9'||ch<'0') if(ch=='-') w=-1;
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
inline ll lread()
{
ll s=0,w=1;char ch;
while((ch=getchar())>'9'||ch<'0') if(ch=='-') w=-1;
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
inline ll qow(ll a,int b,int mod)
{
ll ans=1;
while(b)
{
if(b&1) ans=ans*a%mod;
a=a*a%mod;
b>>=1;
}
return ans;
}
inline ll cheng(ll a,ll b,ll mod)
{
ll ans=0;
while(b)
{
if(b&1) ans+=a;
a=a*2%mod;
b>>=1;
}
return ans;
}
inline ll qow(ll a,ll b,ll mod)
{
ll ans=1;
while(b)
{
if(b&1) ans=cheng(ans,a,mod);
a=cheng(a,a,mod);
b>>=1;
}
return ans;
}
template<const int N,const int M>
struct graph
{
int head[N+5];
int t[M+5];
int n[M+5];
int cntm;
graph(){ cntm=1;}
void clear(int n)
{
cntm=1;
for(int i=1;i<=n;i++) head[i]=0;
}
void ad(int u,int v)
{
cntm++;
t[cntm]=v;
n[cntm]=head[u];
head[u]=cntm;
}
void add(int u,int v)
{
ad(u,v);
ad(v,u);
}
int st(int u){ return head[u];}
int to(int u){ return t[u];}
int nx(int u){ return n[u];}
};
template<const int N,const int M>
struct graphw
{
int head[N+5];
int ww[M+5];
int t[M+5];
int n[M+5];
int cntm;
graphw(){ cntm=1;}
void ad(int u,int v,int w)
{
cntm++;
t[cntm]=v;
n[cntm]=head[u];
ww[cntm]=w;
head[u]=cntm;
}
void add(int u,int v,int w)
{
ad(u,v,w);
ad(v,u,w);
}
int st(int u){ return head[u];}
int to(int u){ return t[u];}
int nx(int u){ return n[u];}
int w(int u){ return ww[u];}
};
}
using namespace nb;
int buy[1000001];
int l[1000001];
int r[1000001];
int b[1000001];
int p[1000001];
int u[1000001];
ll ans;
int n;
int main()
{
n=read();
for(int i=1;i<=n;i++) b[i]=read();
for(int i=1;i<n;i++) p[i]=read();
for(int i=1;i<n;i++) u[i]=read();
for(int i=1;i<n;i++)
{
int num=min(u[i],p[i]);ans+=num,p[i]-=num;
int num1=min(p[i],b[i]);p[i]-=num1,b[i]-=num1;
int num2=min(p[i],b[i+1]);p[i]-=num2,b[i+1]-=num2;
l[i]=num1,r[i]=num2,buy[i]=num;
// printf("%d : %d %d %d %d\n",i,l[i],buy[i],r[i],p[i]);
if(p[i]){ printf("NO\n");return 0;}
}
printf("YES\n");
for(int i=1;i<n;i++)
{
int num1=min(buy[i],b[i]);ans-=num1;
l[i]+=num1,b[i]-=num1,buy[i]-=num1;
int num3=min(r[i],b[i+1]);
l[i]+=num3,b[i]-=num3,r[i]-=num3,b[i+1]+=num3;
int num2=min(buy[i],b[i+1]);ans-=num2;
r[i]+=num2,b[i+1]-=num2,buy[i]-=num2;
}
printf("%lld\n",ans);
for(int i=1;i<n;i++) printf("%d %d %d\n",l[i],buy[i],r[i]);
return 0;
}
詳細信息
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 5
Accepted
time: 2ms
memory: 13924kb
input:
3 10 15 10 20 20 0 0
output:
NO
result:
ok IMPOSSIBLE
Test #2:
score: -5
Wrong Answer
time: 2ms
memory: 13936kb
input:
2 813741488 132495829 946237313 0
output:
YES 0 813741492 0 132495821
result:
wrong answer the bus station 1 exceeds its capacity
Subtask #2:
score: 0
Wrong Answer
Test #36:
score: 0
Wrong Answer
time: 0ms
memory: 13972kb
input:
3 10 15 10 20 20 0 11
output:
YES 1 10 0 10 9 1 10
result:
wrong answer the cost you declared is 1, but expected 5
Subtask #3:
score: 0
Skipped
Dependency #2:
0%
Subtask #4:
score: 0
Skipped
Dependency #1:
0%