提交时间:2025-05-04 21:05:15
运行 ID: 193007
#include<bits/stdc++.h> using namespace std; int n,m,k; vector<pair<int,int>> v; vector<int> dp; bool cmp(pair<int,int> a,pair<int,int> b){ if(a.first==b.first)return a.second>b.second; return a.first<b.first; } int main(){ scanf("%d%d%d",&n,&m,&k); int tx,ty; for(int i=0;i<k;i++){ scanf("%d%d",&tx,&ty); v.push_back({tx,ty}); } sort(v.begin(),v.end(),&cmp); for(auto num:v){ auto pos=lower_bound(dp.begin(),dp.end(),num.second); if(pos==dp.end())dp.push_back(num.second); else *pos=num.second; } int a=(n+m-2*dp.size())*100; double temp=sqrt(20000)*dp.size()+0.5; int b=temp; printf("%d",a+b); return 0; }