# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
3313 | mjy0503 | 두 섬간의 연결 (kriii1_2) | C++98 | 48 ms | 2260 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <stdio.h>
long long print[2],cnt[100001];
int team[100001];
long long fir(long long a){
return a*(a-1)/2;
}
long long sec(long long a){
return (a-1)*a*(a+1)/6;
}
int main(){
int n,i,a,j;
scanf("%d",&n);
for(i=0;i<n;i++){
team[i]=i;
cnt[i]=1;
}
for(i=0;i<n-1;i++){
scanf("%d",&a);
print[0]-=fir(cnt[a]);
print[0]-=fir(cnt[team[a-1]]);
print[1]-=sec(cnt[a]);
print[1]-=sec(cnt[team[a-1]]);
for(j=a;j<n;j++){
if(team[j]!=a) break;
team[j]=team[a-1];
cnt[team[a-1]]++;
}
print[0]+=fir(cnt[team[a-1]]);
print[1]+=sec(cnt[team[a-1]]);
printf("%lld %lld\n",print[0],print[1]);
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |