Submission #345841

# Submission time Handle Problem Language Result Execution time Memory
345841 2021-01-08T09:40:56 Z kshitij_sodani Broken Device (JOI17_broken_device) C++14
61 / 100
49 ms 2828 KB
//#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
#define endl '\n'

#include "Annalib.h"
int vis[151];
int ans[151];
void Anna( int n, long long x, int k, int pp[] ){
	for(int i=0;i<n;i++){
		vis[i]=0;
		ans[i]=0;
	}
	for(int i=0;i<k;i++){
		vis[pp[i]]=1;		
	}
	int cur=-1;
	int la=-1;
	for(int i=0;i<n;i++){
		if(cur==60){
			break;
		}
		if(vis[i]==0){
			if(cur==-1){
				ans[i]=1;
				cur++;
				la=i;
				continue;
				/*if(i%2==0){
					ans[i]=1;
					cur++;
				}*/
				continue;
			}
			if(x&(1LL<<cur)){
				if((i-la)%2==1){
					ans[i]=1;
					cur++;
					la=i;
				}
			}
			else{
				if((i-la)%2==0){
					ans[i]=1;
					cur++;
					la=i;
				}
			}
		}
	}
	//if(cur==60){
		 for( int i = 0; i < n; i++ ){
	   		 Set( i, ans[i] );
	  	}



	  	return;

	//}
	cur=-1;
	for(int i=0;i<n;i++){
		ans[i]=0;
	}
	for(int i=0;i<n;i++){
		if(cur==60){
			break;
		}
		if(vis[i]==0){
			if(cur==-1){
				if(i%2==1){
					cur++;
					ans[i]=1;
				}
				continue;
			}
			if(x&(1LL<<cur)){
				if(i%2==0){
					ans[i]=1;
					cur++;
				}
			}
			else{
				if(i%2==1){
					ans[i]=1;
					cur++;
				}
			}
		}
	}

	 for( int i = 0; i < n; i++ ){
	   		 Set( i, ans[i] );
	  	}

	 
}
//#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
#define endl '\n'


#include "Brunolib.h"

long long Bruno( int n, int aa[] ){


	vector<int> ss;
	llo ans=0;
	int x=-1;
	for(int i=0;i<n;i++){
		if(aa[i]==1){
			/*if(x==-1){
				x=i;
				continue;
			}*/
			ss.pb(i);
		}
	}
	for(int i=1;i<ss.size();i++){
			if((ss[i]-ss[i-1])%2==1){
				ans+=(1LL<<(i-1));
			}
		}
	return ans;
	if(x%2==0){
		for(int i=0;i<ss.size();i++){
			if((ss[i]%2==1)){
				ans+=(1LL<<i);
			}
		}
	}
	else{
		for(int i=0;i<ss.size();i++){
			if((ss[i]%2==0)){
				ans+=(1LL<<i);
			}
		}
	}




  return ans;
}

//g++ -std=c++14 -O2 -o aa grader.cpp Anna.cpp Bruno.cpp

Compilation message

Bruno.cpp: In function 'long long int Bruno(int, int*)':
Bruno.cpp:29:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |  for(int i=1;i<ss.size();i++){
      |              ~^~~~~~~~~~
Bruno.cpp:36:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |   for(int i=0;i<ss.size();i++){
      |               ~^~~~~~~~~~
Bruno.cpp:43:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |   for(int i=0;i<ss.size();i++){
      |               ~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Partially correct 41 ms 2620 KB Output is partially correct - L* = 31
2 Partially correct 41 ms 2700 KB Output is partially correct - L* = 28
3 Partially correct 40 ms 2692 KB Output is partially correct - L* = 29
4 Partially correct 40 ms 2620 KB Output is partially correct - L* = 32
5 Partially correct 42 ms 2492 KB Output is partially correct - L* = 31
6 Partially correct 40 ms 2692 KB Output is partially correct - L* = 28
7 Partially correct 43 ms 2492 KB Output is partially correct - L* = 29
8 Partially correct 41 ms 2752 KB Output is partially correct - L* = 33
9 Partially correct 41 ms 2692 KB Output is partially correct - L* = 29
10 Partially correct 43 ms 2620 KB Output is partially correct - L* = 31
11 Partially correct 45 ms 2692 KB Output is partially correct - L* = 29
12 Partially correct 41 ms 2704 KB Output is partially correct - L* = 33
13 Partially correct 42 ms 2620 KB Output is partially correct - L* = 31
14 Partially correct 40 ms 2620 KB Output is partially correct - L* = 30
15 Partially correct 49 ms 2700 KB Output is partially correct - L* = 36
16 Partially correct 41 ms 2620 KB Output is partially correct - L* = 32
17 Partially correct 41 ms 2492 KB Output is partially correct - L* = 26
18 Partially correct 40 ms 2744 KB Output is partially correct - L* = 32
19 Partially correct 40 ms 2620 KB Output is partially correct - L* = 28
20 Partially correct 41 ms 2492 KB Output is partially correct - L* = 29
21 Partially correct 41 ms 2492 KB Output is partially correct - L* = 30
22 Partially correct 41 ms 2692 KB Output is partially correct - L* = 29
23 Partially correct 41 ms 2492 KB Output is partially correct - L* = 31
24 Partially correct 43 ms 2748 KB Output is partially correct - L* = 32
25 Partially correct 41 ms 2620 KB Output is partially correct - L* = 31
26 Partially correct 40 ms 2492 KB Output is partially correct - L* = 31
27 Partially correct 41 ms 2620 KB Output is partially correct - L* = 32
28 Partially correct 42 ms 2620 KB Output is partially correct - L* = 30
29 Partially correct 40 ms 2492 KB Output is partially correct - L* = 33
30 Partially correct 40 ms 2492 KB Output is partially correct - L* = 26
31 Partially correct 41 ms 2700 KB Output is partially correct - L* = 32
32 Partially correct 43 ms 2820 KB Output is partially correct - L* = 30
33 Partially correct 41 ms 2692 KB Output is partially correct - L* = 25
34 Partially correct 44 ms 2492 KB Output is partially correct - L* = 29
35 Partially correct 41 ms 2620 KB Output is partially correct - L* = 28
36 Partially correct 41 ms 2828 KB Output is partially correct - L* = 27
37 Partially correct 40 ms 2748 KB Output is partially correct - L* = 28
38 Partially correct 40 ms 2536 KB Output is partially correct - L* = 29
39 Partially correct 40 ms 2692 KB Output is partially correct - L* = 35
40 Partially correct 40 ms 2492 KB Output is partially correct - L* = 30