Submission #84460

#TimeUsernameProblemLanguageResultExecution timeMemory
84460farukkastamonudaSchools (IZhO13_school)C++14
10 / 100
2093 ms52828 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define lo long long 
#define inf 1000000000
#define md 1000000007
#define pb push_back
#define li 300005
#define ii pair<lo int, pair<int, pair<int, pair<int,int> > > > 
using namespace std;
int n,m,s,vis[li];
lo int x[li],y[li],total;
priority_queue<ii> q;
unordered_map<lo int ,lo int > tp[li];
int main(){
	scanf("%d %d %d",&n,&m,&s);
	for(int i=1;i<=n;i++){
		scanf("%lld %lld",&x[i],&y[i]);
	}
	q.push(mp(0,mp(m+s,mp(m,mp(s,0)))));
	while(!q.empty()){
		ii tmp=q.top();
		q.pop();
		lo int cst=tmp.fi;
		int mm=tmp.se.se.fi;
		int ss=tmp.se.se.se.fi;
		int ind=tmp.se.se.se.se;
		if(tp[ind][mm+ss]>cst) continue;
		tp[ind][mm+ss]=cst;
		if(ind==n){
			total=max(total,cst);
			continue;
		}
		if(mm>0) q.push(mp(cst+x[ind+1],mp(tmp.se.fi-1,mp(mm-1,mp(ss,ind+1)))));
		if(ss>0) q.push(mp(cst+y[ind+1],mp(tmp.se.fi-1,mp(mm,mp(ss-1,ind+1)))));
		q.push(mp(cst,mp(tmp.se.fi,mp(mm,mp(ss,ind+1)))));
	}
	printf("%lld\n",total);
	return 0;
}

Compilation message (stderr)

school.cpp: In function 'int main()':
school.cpp:17:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d %d",&n,&m,&s);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~
school.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld",&x[i],&y[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...