Submission #121462

#TimeUsernameProblemLanguageResultExecution timeMemory
121462TadijaSebezGarage (IOI09_garage)C++11
100 / 100
3 ms384 KiB
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <set>
#include <queue>
using namespace std;
const int N=2050;
int r[N],w[N],my[N];
set<int> Free;
queue<int> q;
int main()
{
	int n,m,i,sol=0,x;
	scanf("%i %i",&n,&m);
	for(i=1;i<=n;i++) scanf("%i",&r[i]),Free.insert(i);
	for(i=1;i<=m;i++) scanf("%i",&w[i]);
	for(i=1;i<=m*2;i++)
	{
		scanf("%i",&x);
		if(x>0) q.push(x);
		else x=-x,Free.insert(my[x]);
		while(q.size() && Free.size())
		{
			int car=q.front();
			q.pop();
			int space=*Free.begin();
			Free.erase(space);
			my[car]=space;
			sol+=r[space]*w[car];
		}
	}
	printf("%i\n",sol);
	return 0;
}

Compilation message (stderr)

garage.cpp: In function 'int main()':
garage.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i %i",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~
garage.cpp:15:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(i=1;i<=n;i++) scanf("%i",&r[i]),Free.insert(i);
                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
garage.cpp:16:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(i=1;i<=m;i++) scanf("%i",&w[i]);
                    ~~~~~^~~~~~~~~~~~
garage.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%i",&x);
   ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...