답안 #22072

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
22072 2017-04-29T07:10:58 Z 아재 goto 써요?(#1011, baactree) 구간들 (KRIII5P_3) C++14
0 / 7
0 ms 2024 KB
// =====================================================================================
// 
//       Filename:  i.cpp
//        Created:  2017년 04월 29일 15시 53분 37초
//       Compiler:  g++ -O2 -std=c++14
//         Author:  baactree ,  [email protected]
//        Company:  Chonnam National University
// 
// =====================================================================================

#include <bits/stdc++.h>
using namespace std;
int n;
vector<pair<int, int> > event;
const int mod=1000000007;
typedef long long ll;
ll _pow(ll a, ll b){
	if(b==0)
		return 1;
	ll temp=_pow(a, b/2);
	temp=(temp*temp)%mod;
	if(b&1)
		return (temp*a)%mod;
	return temp;
}
int main(){
	scanf("%d", &n);
	for(int i=0;i<n;i++){
		int a, b;
		scanf("%d%d", &a, &b);
		if(a>=b)
			continue;
		event.push_back({a, 0});
		event.push_back({b, 1});
	}
	sort(event.begin(), event.end());
	int cnt=0;
	int len=0;
	int ans=0;
	int pre=0;
	for(int i=0;i<event.size();i++){
		int x=event[i].first;
		int m=event[i].second;
		len+=(long long)(x-pre)*(_pow(2, cnt)-1+mod);
		len%=mod;
		if(!m){
			ans+=_pow(2, cnt);
			ans%=mod;
			cnt++;
		}
		else{
			cnt--;
		}
		pre=x;
	}
	printf("%d %d\n", len, ans);
	return 0;
}

Compilation message

i.cpp: In function 'int main()':
i.cpp:41:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<event.size();i++){
               ^
i.cpp:27:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
                 ^
i.cpp:30:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &a, &b);
                        ^
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 2024 KB Output isn't correct
2 Halted 0 ms 0 KB -