#include<bits/stdc++.h>
using namespace std;
int n,m,k,timu[1010],student[1010],t,bj,time_a,time_b,time_c,time_d,A,H,E,time_jf,time_lg,p;
struct node
{
int ti,stu,mark,xh;
}a[100010];
bool cmp(node x,node y) {return x.stu<y.stu||x.stu==y.stu&&x.ti<y.ti||x.stu==y.stu&&x.ti==y.ti&&x.xh<y.xh;}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) scanf("%d",&timu[i]);
sort(timu+1,timu+n+1);
for(int i=1;i<=m;i++) scanf("%d",&student[i]);
sort(student+1,student+m+1);
cin>>time_a>>time_b>>time_c>>time_d>>A>>H>>E>>k;
for(int i=1;i<=k;i++) scanf("%d%d%d",&a[i].ti,&a[i].stu,&a[i].mark),a[i].xh=i;
sort(a+1,a+k+1,cmp);
if(!E)
{
time_jf=time_a*n;
time_lg=int(1.0*(time_a*n+k*time_c)/(1.0*A/100))+H;
t=1;p=1;
for(int i=2;i<=k+1;i++)
{
if(a[i].stu!=a[i-1].stu)
{
time_jf+=min(time_a*p+(i-t)*time_c,time_b*(i-t));
cout<<time_a*p+(i-t)*time_c<<" "<<time_b*(i-t)<<endl;
t=i;
p=1;
}
if(a[i].ti!=a[i-1].ti&&a[i].stu==a[i-1].stu) p++;
}
cout<<time_jf<<endl<<time_lg<<endl;
if(time_lg<time_jf) cout<<"Use Luogu!";
else cout<<"Forget it...";
}
else
{
time_jf=time_a*n;
time_lg=int(1.0*(time_a*n+k*time_c)/(1.0*A/100))+H;
t=1;p=1;bj=0;
for(int i=2;i<=k+1;i++)
{
if(a[i].stu!=a[i-1].stu)
{
time_jf+=min(time_a*p+(i-t)*time_c,time_b*(i-t));
t=i;
p=1;
}
if(a[i].ti!=a[i-1].ti&&a[i].stu==a[i-1].stu) p++;
}
for(int i=1;i<=k;i++)
{
if(a[i].stu!=a[i-1].stu||a[i].ti!=a[i-1].ti) bj=0;
if(a[i].mark>bj) bj=a[i].mark,time_jf+=time_d;
}
cout<<time_jf<<endl<<time_lg<<endl;
if(time_lg<time_jf) cout<<"Use Luogu!";
else cout<<"Forget it...";
}
}
为什么这个数据线下是509???
2 3
4 2
2 5 4
54 47 14 13 94 124 0
10
4 4 90
4 2 50
2 4 90
4 4 90
2 5 40
4 5 60
4 2 30
2 2 80
4 2 20
2 2 20