QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#640803 | #8936. Team Arrangement | meiqwq | WA | 0ms | 3588kb | C++20 | 1.2kb | 2024-10-14 16:09:21 | 2024-10-14 16:09:21 |
Judging History
answer
#pragma GCC optimize(3)
#include <bits/stdc++.h>
using namespace std;
#define rep(i,j,k) for(i=j;i<=k;++i)
#define dow(i,j,k) for(i=j;i>=k;--i)
#define pr pair
#define mkp make_pair
#define fi first
#define se second
const int N=70;
int cnt[N],n,w[N],ans=1<<31,acc[N];
vector<pr<int,int > >st[N],ed[N];
void dfs(int s,int n,int cur){
if(s==n){
int i,j,flg=1;
//set<pr<int,int> >S;
rep(i,1,cur){
if(acc[i]<cnt[i]){flg=0;break;}
}
if(flg){
int sum=0;
//cerr<<"ok:";
rep(i,1,cur)sum+=cnt[i]*w[i];//,cerr<<i<<' '<<cnt[i]<<'\n';
ans=max(ans,sum);
}
return;
}
if(s+cur>n)return;
int i;
for(i=0;i*(cur+1)+s<=n;++i){
cnt[cur+1]=i;
dfs(s+i*(cur+1),n,cur+1);
}
}
int main(){//freopen("in.txt","r",stdin);
ios::sync_with_stdio(false);
cin>>n;
int i,j;
rep(i,1,n){
int l,r;cin>>l>>r;
st[l].push_back(mkp(r,i));ed[r].push_back(mkp(r,i));
rep(j,l,r)acc[j]++;
}
rep(i,1,n)cin>>w[i];
dfs(0,n,0);
if(ans>(1<<31))cout<<ans;else cout<<"impossible";
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 0ms
memory: 3588kb
input:
3 2 3 1 2 2 2 4 5 100
output:
100
result:
wrong answer 1st lines differ - expected: '9', found: '100'