比赛 |
树形数据结构拔高 |
评测结果 |
WWWTTTTTTT |
题目名称 |
高速公路 |
最终得分 |
0 |
用户昵称 |
Ruyi |
运行时间 |
28.037 s |
代码语言 |
C++ |
内存使用 |
3.89 MiB |
提交时间 |
2025-04-17 20:55:10 |
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a[100001],g,b[100001];
ll gcd(ll x,ll y){
if(y==0) return x;
return gcd(y,x%y);
}
int main(){
freopen("roadxw.in","r",stdin);
freopen("roadxw.out","w",stdout);
cin>>n>>m;
while(m--){
char op;
int l,r,v;
cin>>op>>l>>r;
if(op=='C'){
cin>>v;
for(int i=l;i<=r;i++) a[i]+=v;
}else{
for(int i=1;i<=r;i++) b[i]=b[i-1]+a[i];
ll ans1=0,ans2=0;
for(int i=l;i<r;i++)
for(int j=i+1;j<=r;j++){
ans1+=b[j]-b[i];
ans2++;
}
g=gcd(ans1,ans2);
ans1/=g;
ans2/=g;
cout<<ans1<<'/'<<ans2<<endl;
}
}
return 0;
}