QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#666412#8936. Team Arrangementlytqwq#WA 0ms3960kbC++141.1kb2024-10-22 18:19:032024-10-22 18:19:15

Judging History

This is the latest submission verdict.

  • [2024-10-22 18:19:15]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3960kb
  • [2024-10-22 18:19:03]
  • Submitted

answer

#include<stdio.h>
#include<algorithm>
#include<vector>
#include<set>
#include<queue>
#include<functional>
using namespace std;
#define Inf 0x7fffffff
int n;
int a[65];
int s[65];
int res=0;
vector<int>ed[65];
int stk[65],lens;
int L[65],R[65];
int b[65];
int work(){
    int add=0;
    for(int i=1;i<=n;i++)b[i]=0;
    int cnt=0;
    for(int i=1;i<=n;i++){
        for(auto&x:ed[i])b[x]++;
        cnt+=i*s[i];
        if(cnt<b[i])return 0;
        cnt-=b[i];
        add+=s[i]*a[i];
    }
    if(add>res)res=add;
    return 0;
}
int cnt=0;

int dfs(int lst,int nows){
    cnt++;
    if(nows==0){
        if(lst==0)work();
        return 0;
    }
    for(int i=0;i*nows<=lst;i++){
        s[nows]=i;
        dfs(lst-i*nows,nows-1);
    }
    return 0;
}
int main(){
   // freopen("2.in","r",stdin);
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        int x,y;scanf("%d%d",&x,&y);
        ed[x].push_back(y);
    }
    for(int i=1;i<=n;i++)scanf("%d",a+i);
 //   puts("!!!");
    res=-Inf;
    dfs(n,n);
    if(res>-Inf)printf("%d\n",res);
    else puts("impossible");
   // printf("P%d\n",cnt);
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3960kb

input:

3
2 3
1 2
2 2
4 5 100

output:

12

result:

wrong answer 1st lines differ - expected: '9', found: '12'