mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2026-02-03 17:27:18 +00:00
fix(P6627): 修复边界条件处理并优化结果比较逻辑
扩展映射表的键范围以包含更多边界情况,确保正确性 在结果比较时增加绝对值条件,优化最终答案选择
This commit is contained in:
parent
f72db3be3a
commit
0de21a3bd3
@ -1,6 +1,7 @@
|
|||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
#include <cstdlib>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <istream>
|
#include <istream>
|
||||||
#include <map>
|
#include <map>
|
||||||
@ -18,17 +19,18 @@ int main(){
|
|||||||
|
|
||||||
std::cin>>n;
|
std::cin>>n;
|
||||||
l.resize(n+1);r.resize(n+1);w.resize(n+1);a.resize(n+1);b.resize(n+1);t.resize(n+1);
|
l.resize(n+1);r.resize(n+1);w.resize(n+1);a.resize(n+1);b.resize(n+1);t.resize(n+1);
|
||||||
|
m[0]=0;
|
||||||
for(ll i=1;i<=n;i++){
|
for(ll i=1;i<=n;i++){
|
||||||
std::cin>>t[i];
|
std::cin>>t[i];
|
||||||
if(t[i]==1){
|
if(t[i]==1){
|
||||||
std::cin>>l[i]>>r[i]>>w[i];
|
std::cin>>l[i]>>r[i]>>w[i];
|
||||||
m[l[i]]=m[r[i]]=m[r[i]+1]=0;
|
m[l[i]-1]=m[l[i]]=m[l[i]+1]=m[r[i]-1]=m[r[i]]=m[r[i]+1]=m[r[i]+2]=0;
|
||||||
}else if(t[i]==2){
|
}else if(t[i]==2){
|
||||||
std::cin>>a[i]>>w[i];
|
std::cin>>a[i]>>w[i];
|
||||||
m[a[i]]=0;
|
m[a[i]-1]=m[a[i]]=m[a[i]+1]=0;
|
||||||
}else{
|
}else{
|
||||||
std::cin>>b[i]>>w[i];
|
std::cin>>b[i]>>w[i];
|
||||||
m[b[i]]=0;
|
m[b[i]-1]=m[b[i]]=m[b[i]+1]=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ll idx=1;
|
ll idx=1;
|
||||||
@ -61,6 +63,10 @@ int main(){
|
|||||||
nans^=eq[i];
|
nans^=eq[i];
|
||||||
nans^=xr[i];
|
nans^=xr[i];
|
||||||
nans^=anq^nq[i];
|
nans^=anq^nq[i];
|
||||||
|
if(nans==ans && std::abs(rp->first)<std::abs(ansi)){
|
||||||
|
ansi=rp->first;
|
||||||
|
ans=nans;
|
||||||
|
}
|
||||||
if(nans>ans){
|
if(nans>ans){
|
||||||
ansi=rp->first;
|
ansi=rp->first;
|
||||||
ans=nans;
|
ans=nans;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user