Submission #747756

# Submission time Handle Problem Language Result Execution time Memory
747756 2023-05-24T15:50:10 Z LIF Handcrafted Gift (IOI20_gift) C++14
25 / 100
186 ms 18668 KB
#include "gift.h"
#include<bits/stdc++.h>
#include<string>
#include<vector>
using namespace std;
int ass[500005];
vector<pair<int,int> > one;

//first step : assort it , such that 1111 , 2222;
int construct(int n, int r, vector<int> a, vector<int> b, std::vector<int> x) {
	int pos = 1;
	for(int i=0;i<r;i++)
    {
    	if(x[i] == 1)one.push_back(make_pair(a[i],b[i]));
    	if(x[i] == 2 && b[i] == a[i])return 0;
	}
	sort(one.begin(),one.end());
	int poss = 1;
	if(one.size()!=0)
	{
		int last = one[0].first;
		for(int i=0;i<one.size();i++)
		{
			int mxr = one[i].second;
			while(one[i].first <= mxr && i<= one.size()-1)
			{
				mxr = max(mxr,one[i].second);
				i++;
			}
			i--;
			for(int j=last;j<=mxr;j++)ass[j] = poss;
			last = mxr + 1;
			poss++;
		}
	}
	for(int i=0;i<r;i++)
	{
		if(x[i] == 1)continue;
		if(ass[b[i]] == ass[a[i]] && ass[b[i]] != 0)return 0;
	}
	
	
	string s;
	s += "R";
	int lastmax = -1;
	if(ass[0] == 1) lastmax = 1;
	for(int i=1;i<n;i++)
	{
		if(ass[i] == 0)
		{
			if(s[i-1] == 'R')s += "B";
			else s += "R";
			continue;
		}
		if(ass[i] == lastmax)
		{
			s += s[i-1];
			continue;
		}
		if(ass[i] > lastmax)
		{
			lastmax = ass[i];
			if(s[i-1] == 'R')s += "B";
			else s += "R";
			continue;
		}
		
	}
	craft(s);
	
    return 1;
}

Compilation message

gift.cpp: In function 'int construct(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
gift.cpp:22:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |   for(int i=0;i<one.size();i++)
      |               ~^~~~~~~~~~~
gift.cpp:25:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |    while(one[i].first <= mxr && i<= one.size()-1)
      |                                 ~^~~~~~~~~~~~~~~
gift.cpp:11:6: warning: unused variable 'pos' [-Wunused-variable]
   11 |  int pos = 1;
      |      ^~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 4 ms 724 KB Output is correct
5 Correct 186 ms 17432 KB Output is correct
6 Correct 184 ms 17432 KB Output is correct
7 Correct 177 ms 18668 KB Output is correct
8 Correct 178 ms 18652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 3 ms 468 KB Output is correct
4 Correct 136 ms 13152 KB Output is correct
5 Correct 131 ms 13152 KB Output is correct
6 Correct 125 ms 11936 KB Output is correct
7 Correct 121 ms 11936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Incorrect 0 ms 320 KB Possible does not match answer file
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Incorrect 1 ms 340 KB Possible does not match answer file
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 4 ms 724 KB Output is correct
5 Correct 186 ms 17432 KB Output is correct
6 Correct 184 ms 17432 KB Output is correct
7 Correct 177 ms 18668 KB Output is correct
8 Correct 178 ms 18652 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 212 KB Output is correct
11 Correct 3 ms 468 KB Output is correct
12 Correct 136 ms 13152 KB Output is correct
13 Correct 131 ms 13152 KB Output is correct
14 Correct 125 ms 11936 KB Output is correct
15 Correct 121 ms 11936 KB Output is correct
16 Correct 0 ms 212 KB Output is correct
17 Correct 0 ms 212 KB Output is correct
18 Correct 0 ms 212 KB Output is correct
19 Incorrect 0 ms 320 KB Possible does not match answer file
20 Halted 0 ms 0 KB -