QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#154127#6406. Stage Clear275307894aWA 25ms269460kbC++141.4kb2023-08-31 13:55:152023-08-31 13:55:16

Judging History

This is the latest submission verdict.

  • [2024-08-15 21:05:17]
  • hack成功,自动添加数据
  • (/hack/778)
  • [2023-08-31 13:55:16]
  • Judged
  • Verdict: WA
  • Time: 25ms
  • Memory: 269460kb
  • [2023-08-31 13:55:15]
  • Submitted

answer

#include<bits/stdc++.h>
#define Gc() getchar() 
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define fi first
#define se second
using namespace std;using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned long long;using pii=pair<int,int>;using LL=__int128;
const int N=36+5,M=N*40+5,K=(1<<25)+5,mod=998244353,Mod=mod-1;const db eps=1e-9;const ll INF=1e18+7;mt19937 rnd(time(0));
int n,m;ll A[N],B[N];
namespace Solve1{
	ll dp[K],S[K];int k,x,y,E[K],P[N];
	void Solve(){
		int i,j;k=(1<<n-1);
		while(m--) scanf("%d%d",&x,&y),P[x-1]|=1<<y-1;
		E[0]=P[0];for(i=0;i<n-1;i++) E[1<<i]=P[i+1];
		for(i=1;i<k;i++) E[i]=E[i^(i&-i)]|E[i&-i];
		for(i=0;i<n-1;i++) S[1<<i]=B[i+1]-A[i+1];
		for(i=1;i<k;i++) S[i]=S[i^(i&-i)]+E[i&-i];
		Me(dp,0x3f);dp[0]=0;for(i=0;i<k;i++){
			for(j=1;j<n;j++) if(!(i>>(j-1)&1)&&E[i]>>j&1) dp[i|(1<<j-1)]=min(dp[i|(1<<j-1)],dp[i]+max(0ll,A[j]-(dp[i]+S[i])));
		}
		printf("%lld\n",dp[k-1]);exit(0);
	}
}
void Solve(){
	int i,j;scanf("%d%d",&n,&m);
	for(i=1;i<n;i++) scanf("%lld%lld",&A[i],&B[i]);
	if(n<=26) Solve1::Solve();
}
int main(){
	int t;
	// scanf("%d",&t);
	t=1;
	while(t--) Solve();
	cerr<<clock()*1.0/CLOCKS_PER_SEC<<'\n';
}

详细

Test #1:

score: 100
Accepted
time: 25ms
memory: 269460kb

input:

4 4
4 2
5 3
2 6
1 2
1 3
2 4
3 4

output:

4

result:

ok 1 number(s): "4"

Test #2:

score: -100
Wrong Answer
time: 15ms
memory: 268900kb

input:

15 14
254040392438309 117083115436273
500005748229691 557255157630172
821034233718230 865199673774998
659892147898798 987564141425694
81172575487567 811635577877255
751768357864605 341103322647288
454926350150218 140191090713900
921608121471585 659295670987251
223751724062143 505619245326640
8907765...

output:

960885932881190

result:

wrong answer 1st numbers differ - expected: '1665396301509143', found: '960885932881190'