답안 #951229

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
951229 2024-03-21T12:33:45 Z PM1 Bitwise (BOI06_bitwise) C++17
35 / 100
1 ms 400 KB
#include <bits/stdc++.h>
using namespace std;
#define fr first
#define sc second
#define ll long long int
const ll mxn=105;
ll n,p,cnt[mxn],ans=0,z=1;
vector<pair<ll,ll>>v[mxn];
int main(){
	cin>>n>>p;
	for(ll i=1;i<=p;i++)
		cin>>cnt[i];
	for(ll i=1;i<=p;i++){
		while(cnt[i]--){
			ll a,b;
			cin>>a>>b;
			v[i].push_back({a,b});
		}
	}
	for(ll k=31;k>=0;k--){
		bool t=1;
		for(ll i=1;i<=p;i++){
			ll g=0,gg=0;
			for(auto j:v[i]){
				if(j.fr>=(z<<k) && j.sc>=(z<<k))g++;
				else if(j.sc>=(z<<k))gg++;
			}
			if(g+gg==0){
				t=0;
				break;
			}
		}
		if(!t)
			continue;
		else{
			ans+=(z<<k);
			for(ll i=1;i<=p;i++){
				ll g=0,gg=0;
				for(auto j:v[i]){
					if(j.fr>=(z<<k) && j.sc>=(z<<k))g++;
					else if(j.sc>=(z<<k))gg++;
				}
				if(g){
					for(ll j=0;j<v[i].size();j++){
						auto y=v[i][j];
						if(y.fr>=(z<<k) && y.sc>=(z<<k)){
							v[i][j].fr-=(z<<k);
							v[i][j].sc-=(z<<k);
						}
					}
				}
				else{
					for(ll j=0;j<v[i].size();j++){
						auto y=v[i][j];
						if(y.fr<(z<<k) && y.sc>=(z<<k)){
							v[i][j].fr-=(z<<k);
							v[i][j].sc-=(z<<k);
							break;
						}
					}
				}
			}
		}
	}
	cout<<ans;
	return 0;
}

Compilation message

bitwise.cpp: In function 'int main()':
bitwise.cpp:44:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |      for(ll j=0;j<v[i].size();j++){
      |                 ~^~~~~~~~~~~~
bitwise.cpp:53:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |      for(ll j=0;j<v[i].size();j++){
      |                 ~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB Output isn't correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Correct 0 ms 348 KB Output is correct
5 Incorrect 0 ms 348 KB Output isn't correct
6 Incorrect 1 ms 344 KB Output isn't correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Correct 0 ms 348 KB Output is correct
9 Incorrect 0 ms 348 KB Output isn't correct
10 Correct 0 ms 344 KB Output is correct
11 Incorrect 0 ms 348 KB Output isn't correct
12 Correct 0 ms 348 KB Output is correct
13 Incorrect 1 ms 348 KB Output isn't correct
14 Incorrect 0 ms 348 KB Output isn't correct
15 Correct 0 ms 348 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Incorrect 0 ms 348 KB Output isn't correct
18 Incorrect 1 ms 348 KB Output isn't correct
19 Incorrect 0 ms 344 KB Output isn't correct
20 Incorrect 1 ms 400 KB Output isn't correct