Submission #418458

# Submission time Handle Problem Language Result Execution time Memory
418458 2021-06-05T11:37:39 Z EncryptingWolf Meetings (IOI18_meetings) C++14
19 / 100
5500 ms 5512 KB
#include <vector>
#include <iostream>
#include <queue>
#include <algorithm>
typedef long long ll;
#define FOR(i,x,y) for (ll i = x; i<y; i++)
using namespace std;



vector<long long> minimum_costs(vector<int> H, vector<int> L, vector<int> R)
{

	vector<ll> ou;


	FOR(Z, 0, L.size())
	{
		vector<pair<ll, ll>> monSL;
		vector<pair<ll, ll>> monSR;
		vector<ll> distL;
		vector<ll> distR;

		vector<ll> nH;

		FOR(i, L[Z], R[Z] + 1)
		{
			nH.push_back(H[i]);
		}
		distL.resize(nH.size());
		distR.resize(nH.size());
		FOR(i, 0,nH.size())
		{
			while (true)
			{
				if (monSL.size() == 0)
					break;
				else
				{
					if (nH[i] < monSL[monSL.size() - 1].first)
					{
						break;
					}
				}
				monSL.pop_back();
			}
			monSL.push_back({ nH[i],i });
			if (monSL.size() == 1)
			{
				distL[i] = monSL[0].first*(i + 1);
			}
			else
			{
				distL[i] = monSL[monSL.size() - 1].first*(monSL[monSL.size() - 1].second - monSL[monSL.size() - 2].second) + distL[monSL[monSL.size() - 2].second];
			}
		}
		reverse(nH.begin(),nH.end());
		FOR(i, 0, nH.size())
		{
			while (true)
			{
				if (monSR.size() == 0)
					break;
				else
				{
					if (nH[i] < monSR[monSR.size() - 1].first)
					{
						break;
					}
				}
				monSR.pop_back();
			}
			monSR.push_back({ nH[i],i });
			if (monSR.size() == 1)
			{
				distR[i] = monSR[0].first*(i + 1);
			}
			else
			{
				distR[i] = monSR[monSR.size() - 1].first*(monSR[monSR.size() - 1].second - monSR[monSR.size() - 2].second) + distR[monSR[monSR.size() - 2].second];
			}
		}
		reverse(nH.begin(), nH.end());
		reverse(distR.begin(), distR.end());
		ll mi = 1e18;	
		FOR(i, 0, nH.size())
			mi = min(mi, distL[i] + distR[i]-nH[i]);
		ou.push_back(mi);
	}
	/*FOR(i, 0, ou.size())
	{
		cout << ou[i] << ' ';
	}*/
	return ou;
}

Compilation message

meetings.cpp: In function 'std::vector<long long int> minimum_costs(std::vector<int>, std::vector<int>, std::vector<int>)':
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   17 |  FOR(Z, 0, L.size())
      |      ~~~~~~~~~~~~~~                 
meetings.cpp:17:2: note: in expansion of macro 'FOR'
   17 |  FOR(Z, 0, L.size())
      |  ^~~
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   32 |   FOR(i, 0,nH.size())
      |       ~~~~~~~~~~~~~~                
meetings.cpp:32:3: note: in expansion of macro 'FOR'
   32 |   FOR(i, 0,nH.size())
      |   ^~~
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   58 |   FOR(i, 0, nH.size())
      |       ~~~~~~~~~~~~~~~               
meetings.cpp:58:3: note: in expansion of macro 'FOR'
   58 |   FOR(i, 0, nH.size())
      |   ^~~
meetings.cpp:6:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    6 | #define FOR(i,x,y) for (ll i = x; i<y; i++)
......
   86 |   FOR(i, 0, nH.size())
      |       ~~~~~~~~~~~~~~~               
meetings.cpp:86:3: note: in expansion of macro 'FOR'
   86 |   FOR(i, 0, nH.size())
      |   ^~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 2 ms 428 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 2 ms 460 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 300 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 2 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 2 ms 428 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 2 ms 460 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 300 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 2 ms 332 KB Output is correct
10 Correct 365 ms 908 KB Output is correct
11 Correct 1106 ms 860 KB Output is correct
12 Correct 353 ms 776 KB Output is correct
13 Correct 1114 ms 800 KB Output is correct
14 Correct 309 ms 788 KB Output is correct
15 Correct 323 ms 772 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 5222 ms 1844 KB Output is correct
3 Execution timed out 5594 ms 5512 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 5222 ms 1844 KB Output is correct
3 Execution timed out 5594 ms 5512 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 2 ms 428 KB Output is correct
4 Correct 2 ms 332 KB Output is correct
5 Correct 2 ms 460 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 300 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 2 ms 332 KB Output is correct
10 Correct 365 ms 908 KB Output is correct
11 Correct 1106 ms 860 KB Output is correct
12 Correct 353 ms 776 KB Output is correct
13 Correct 1114 ms 800 KB Output is correct
14 Correct 309 ms 788 KB Output is correct
15 Correct 323 ms 772 KB Output is correct
16 Correct 1 ms 204 KB Output is correct
17 Correct 5222 ms 1844 KB Output is correct
18 Execution timed out 5594 ms 5512 KB Time limit exceeded
19 Halted 0 ms 0 KB -