Submission #275694

# Submission time Handle Problem Language Result Execution time Memory
275694 2020-08-20T07:09:23 Z 최은수(#5098) Happiness (Balkan15_HAPPINESS) C++17
60 / 100
2000 ms 257408 KB
#include"happiness.h"
#include<iostream>
#include<vector>
#include<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;
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];
		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,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];
			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,t);
		}
	}
	else
	{
		for(int i=0;i<n;i++)
		{
			ll t=coins[i];
			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,-t);
		}
	}
	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 160 ms 235128 KB Output is correct
2 Correct 142 ms 235176 KB Output is correct
3 Correct 158 ms 235088 KB Output is correct
4 Correct 149 ms 235128 KB Output is correct
5 Correct 150 ms 235152 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 160 ms 235128 KB Output is correct
2 Correct 142 ms 235176 KB Output is correct
3 Correct 158 ms 235088 KB Output is correct
4 Correct 149 ms 235128 KB Output is correct
5 Correct 150 ms 235152 KB Output is correct
6 Correct 161 ms 235172 KB Output is correct
7 Correct 150 ms 235256 KB Output is correct
8 Correct 196 ms 235896 KB Output is correct
9 Correct 206 ms 235852 KB Output is correct
10 Correct 185 ms 235896 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 160 ms 235128 KB Output is correct
2 Correct 142 ms 235176 KB Output is correct
3 Correct 158 ms 235088 KB Output is correct
4 Correct 149 ms 235128 KB Output is correct
5 Correct 150 ms 235152 KB Output is correct
6 Correct 1198 ms 247396 KB Output is correct
7 Correct 1216 ms 247416 KB Output is correct
8 Correct 1205 ms 247492 KB Output is correct
9 Correct 1729 ms 252760 KB Output is correct
10 Correct 1823 ms 255256 KB Output is correct
11 Correct 738 ms 257400 KB Output is correct
12 Correct 739 ms 257408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 160 ms 235128 KB Output is correct
2 Correct 142 ms 235176 KB Output is correct
3 Correct 158 ms 235088 KB Output is correct
4 Correct 149 ms 235128 KB Output is correct
5 Correct 150 ms 235152 KB Output is correct
6 Correct 161 ms 235172 KB Output is correct
7 Correct 150 ms 235256 KB Output is correct
8 Correct 196 ms 235896 KB Output is correct
9 Correct 206 ms 235852 KB Output is correct
10 Correct 185 ms 235896 KB Output is correct
11 Correct 1198 ms 247396 KB Output is correct
12 Correct 1216 ms 247416 KB Output is correct
13 Correct 1205 ms 247492 KB Output is correct
14 Correct 1729 ms 252760 KB Output is correct
15 Correct 1823 ms 255256 KB Output is correct
16 Correct 738 ms 257400 KB Output is correct
17 Correct 739 ms 257408 KB Output is correct
18 Correct 1655 ms 248796 KB Output is correct
19 Correct 1775 ms 249308 KB Output is correct
20 Execution timed out 2101 ms 254784 KB Time limit exceeded
21 Halted 0 ms 0 KB -