Submission #574794

#TimeUsernameProblemLanguageResultExecution timeMemory
574794KrisjanisPPainting Squares (IOI20_squares)C++14
0 / 100
3 ms644 KiB
#include "squares.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

string str = "000000000010000000011000000010100000001110000001001000000101100000011010000001111000001000100000100110000010101000001011100000110010000011011000001110100000111110000100001000110000100101000010011100001010010000101011000010110100001011110000110001000011001100001101010000110111000011100100001110110000111101000011111100010001010001000111000100100100010010110001001101000100111100010100110001010101000101011100010110010001011011000101110100010111110001100011001010001100111000110100100011010110001101101000110111100011100110001110101000111011100011110010001111011000111110100011111110010010011001001010100100101110010011011001001110100100111110010100101001110010101011001010110100101011110010110011001011010100101101110010111011001011110100101111110011001101001100111100110101010011010111001101101100110111010011011111001110011101011001110110100111011110011110101001111011100111110110011111101001111111101010101011101010110110101011111010110101101111010111011101011110110101111111011011011101101111110111011111011110111111111000000000";

std::vector<int> paint(int n) {
	if(n<10)
	{
		vector<int> res(n,0);
		res.push_back(n);
		return res;
	}
	else
	{
		vector<int> res(n,0);
		for(ll i=0;i<n;i++) res[i]=str[i]-'0';
		res.push_back(10);
		return res;
	}
}

int find_location(int n, std::vector<int> c) {
	if(n<10)
	{
		ll f=n;
		for(ll i=0;i<n;i++)
			if(c[i]==-1)
			{
				f=i;
				break;
			}
		return n-f;
	}
	else
	{
		string c_str;
		for(ll i=0;i<c.size();i++) {c_str+=(char)(c[i]+'0'); if(c[i]==-1) break;}
		for(ll x=0;x<n;x++)
			if(c_str==str.substr(x,c_str.size()))
				return x;
	}
}

Compilation message (stderr)

squares.cpp: In function 'int find_location(int, std::vector<int>)':
squares.cpp:39:15: 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]
   39 |   for(ll i=0;i<c.size();i++) {c_str+=(char)(c[i]+'0'); if(c[i]==-1) break;}
      |              ~^~~~~~~~~
squares.cpp:44:1: warning: control reaches end of non-void function [-Wreturn-type]
   44 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...