Submission #275688

# Submission time Handle Problem Language Result Execution time Memory
275688 2020-08-20T07:06:23 Z 최은수(#5098) Happiness (Balkan15_HAPPINESS) C++17
60 / 100
2000 ms 464780 KB
#include"happiness.h"
#include<iostream>
#include<vector>
#include<unordered_map>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18;
struct seg
{
	struct node
	{
		ll v,lz;
		int l,r;
		node(){v=lz=0,l=r=0;}
	}st[10000010];
	int tct;
	int rt;
	seg(){rt=tct=0;}
	void upd(int&n,const ll s,const ll&e,const ll S,const ll&E,const ll&p)
	{
		if(n==0)
			n=++tct;
		if(S<=s&&e<=E)
		{
			st[n].v+=p;
			st[n].lz+=p;
			return;
		}
		ll m=s+(e-s)/2;
		if(S<=m)
			upd(st[n].l,s,m,S,E,p);
		if(E>m)
			upd(st[n].r,m+1,e,S,E,p);
		st[n].v=min(st[st[n].l].v,st[st[n].r].v)+st[n].lz;
		return;
	}
}st;
ll m;
unordered_map<ll,int>mp;
bool init(int coinsCount,ll maxCoinSize,ll coins[])
{
	m=maxCoinSize;
	int n=coinsCount;
	for(int i=0;i<n;i++)
	{
		ll t=coins[i];
		ll mt=-t;
		if(mp[t]++==0)
			st.upd(st.rt,1,m,t,t,mt);
		if(t<m)
			st.upd(st.rt,1,m,t+1,m,t);
	}
	return st.st[st.rt].v>=-1;
}
bool is_happy(int event,int coinsCount,ll coins[])
{
	int n=coinsCount;
	if(event==1)
	{
		for(int i=0;i<n;i++)
		{
			ll t=coins[i];
			ll mt=-t;
			if(mp[t]++==0)
				st.upd(st.rt,1,m,t,t,mt);
			if(t<m)
				st.upd(st.rt,1,m,t+1,m,t);
		}
	}
	else
	{
		for(int i=0;i<n;i++)
		{
			ll t=coins[i];
			ll mt=-t;
			if(--mp[t]==0)
				st.upd(st.rt,1,m,t,t,t);
			if(t<m)
				st.upd(st.rt,1,m,t+1,m,mt);
		}
	}
	return st.st[st.rt].v>=-1;
}

Compilation message

grader.cpp: In function 'int main()':
grader.cpp:16:12: warning: unused variable 'max_code' [-Wunused-variable]
   16 |  long long max_code;
      |            ^~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 142 ms 235128 KB Output is correct
2 Correct 165 ms 235096 KB Output is correct
3 Correct 172 ms 235128 KB Output is correct
4 Correct 147 ms 235256 KB Output is correct
5 Correct 158 ms 235256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 142 ms 235128 KB Output is correct
2 Correct 165 ms 235096 KB Output is correct
3 Correct 172 ms 235128 KB Output is correct
4 Correct 147 ms 235256 KB Output is correct
5 Correct 158 ms 235256 KB Output is correct
6 Correct 146 ms 235256 KB Output is correct
7 Correct 149 ms 235196 KB Output is correct
8 Correct 189 ms 235768 KB Output is correct
9 Correct 179 ms 235896 KB Output is correct
10 Correct 174 ms 235640 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 142 ms 235128 KB Output is correct
2 Correct 165 ms 235096 KB Output is correct
3 Correct 172 ms 235128 KB Output is correct
4 Correct 147 ms 235256 KB Output is correct
5 Correct 158 ms 235256 KB Output is correct
6 Correct 859 ms 243772 KB Output is correct
7 Correct 837 ms 243752 KB Output is correct
8 Correct 846 ms 243888 KB Output is correct
9 Correct 1294 ms 250364 KB Output is correct
10 Correct 1290 ms 250208 KB Output is correct
11 Correct 631 ms 250400 KB Output is correct
12 Correct 623 ms 250468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 142 ms 235128 KB Output is correct
2 Correct 165 ms 235096 KB Output is correct
3 Correct 172 ms 235128 KB Output is correct
4 Correct 147 ms 235256 KB Output is correct
5 Correct 158 ms 235256 KB Output is correct
6 Correct 146 ms 235256 KB Output is correct
7 Correct 149 ms 235196 KB Output is correct
8 Correct 189 ms 235768 KB Output is correct
9 Correct 179 ms 235896 KB Output is correct
10 Correct 174 ms 235640 KB Output is correct
11 Correct 859 ms 243772 KB Output is correct
12 Correct 837 ms 243752 KB Output is correct
13 Correct 846 ms 243888 KB Output is correct
14 Correct 1294 ms 250364 KB Output is correct
15 Correct 1290 ms 250208 KB Output is correct
16 Correct 631 ms 250400 KB Output is correct
17 Correct 623 ms 250468 KB Output is correct
18 Correct 1387 ms 244560 KB Output is correct
19 Correct 1408 ms 244792 KB Output is correct
20 Execution timed out 2142 ms 464780 KB Time limit exceeded
21 Halted 0 ms 0 KB -