提交记录 14104


用户 题目 状态 得分 用时 内存 语言 代码长度
zzqDeco 2003. 【NOI2020】美食家(加强版) Time Limit Exceeded 0 2 s 204656 KB C++ 1.59 KB
提交时间 评测时间
2020-09-07 20:46:42 2020-09-07 20:47:50
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int n,m,k;

long long T;

int num,head[3100000];

long long v[31000];

struct query
{
  long long now,v;
  int p;
}q[100010];

struct M
{
  long long s[1010][1010],r,c;
  void clear()
  {
    for(int i=1;i<=300;i++) for(int j=1;j<=300;j++) s[i][j]=-0x3f3f3f3f3f3f3f3f;
  }
}ans,Ye[40];

M operator * (const M &x,const M &y)
{
  M now;
  now.clear();
  now.r=x.r;
  now.c=y.c;
  for(int k=1;k<=x.c;k++)
  {
    for(int i=1;i<=x.r;i++)
    {
      for(int j=1;j<=y.c;j++)
      {
        now.s[i][j]=max(now.s[i][j],x.s[i][k]+y.s[k][j]);
      }
    }
  }
  return now;
}

bool cmp(query a,query b)
{
  return a.now<b.now;
}

int main()
{
  scanf("%d%d%lld%d",&n,&m,&T,&k);
  ans.clear();
  ans.r=1;
  ans.c=n*5;
  ans.s[1][1]=0;
  Ye[0].clear();
  Ye[0].r=n*5;
  Ye[0].c=n*5;
  for(int i=1;i<=n*5;i++) if(i%5) Ye[0].s[i][i+1]=0;
  for(int i=1;i<=n;i++) scanf("%lld",&v[i]);
  for(int i=1;i<=m;i++)
  {
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    Ye[0].s[(a-1)*5+c][(b-1)*5+1]=v[b];
  }
  for(int i=1;i<=31;i++) Ye[i]=Ye[i-1]*Ye[i-1];
  for(int i=1;i<=k;i++) scanf("%lld%d%lld",&q[i].now,&q[i].p,&q[i].v);
  sort(q+1,q+k+1,cmp);
  q[0].now=0;
  for(int i=1;i<=k;i++)
  {
    for(int j=0;j<=31;j++) if((q[i].now-q[i-1].now-1)&(1ll<<j)) ans=ans*Ye[j];
    M wee=Ye[0];
    for(int j=1;j<=n*5;j++) if(wee.s[j][(q[i].p-1)*5+1]>=0) wee.s[j][(q[i].p-1)*5+1]+=q[i].v;
    ans=ans*wee;
  }
  for(int j=0;j<=31;j++) if((T-q[k].now)&(1ll<<j)) ans=ans*Ye[j];
  if(ans.s[1][1]>0) printf("%lld",ans.s[1][1]+v[1]);
  else puts("-1");
}

CompilationN/AN/ACompile OKScore: N/A

Subtask #1 Testcase #12 s199 MB + 808 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #22 s199 MB + 776 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #32 s199 MB + 848 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #42 s199 MB + 820 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #52 s199 MB + 784 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #62 s199 MB + 832 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #72 s199 MB + 792 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #82 s199 MB + 868 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #92 s199 MB + 840 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #102 s199 MB + 844 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #112 s199 MB + 760 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #122 s199 MB + 820 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #132 s199 MB + 840 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #142 s199 MB + 856 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #152 s199 MB + 760 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #162 s199 MB + 816 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #172 s199 MB + 800 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #182 s199 MB + 880 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #192 s199 MB + 780 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #202 s199 MB + 768 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #212 s199 MB + 844 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #222 s199 MB + 764 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #232 s199 MB + 732 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #242 s199 MB + 824 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #252 s199 MB + 752 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #262 s199 MB + 832 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #272 s199 MB + 784 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #282 s199 MB + 824 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #292 s199 MB + 772 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #302 s199 MB + 860 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #312 s199 MB + 800 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #322 s199 MB + 820 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #332 s199 MB + 808 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #342 s199 MB + 840 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #352 s199 MB + 844 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #362 s199 MB + 756 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #372 s199 MB + 780 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #382 s199 MB + 848 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #392 s199 MB + 812 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #402 s199 MB + 764 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #412 s199 MB + 752 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #422 s199 MB + 788 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #432 s199 MB + 840 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #442 s199 MB + 856 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #452 s199 MB + 784 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #462 s199 MB + 720 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #472 s199 MB + 840 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #482 s199 MB + 792 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #492 s199 MB + 844 KBTime Limit ExceededScore: 0

Subtask #1 Testcase #502 s199 MB + 812 KBTime Limit ExceededScore: 0


Judge Duck Online | 评测鸭在线
Server Time: 2026-03-23 03:31:42 | Loaded in 2 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠