源代码
1 #include<bits/stdc++.h>
2 using namespace std;
3
4 const long long MAXN=100;
5
6 long long n,q;
7 struct Line{
8 long long k,b;
9 double operator+(const Line& other)const{
10 return 1.0*(other.b-b)/(k-other.k);
11 }
12 }lines[MAXN];
13 struct Query{
14 long long x,id;
15 }queries[MAXN];
16 long long front=0,rear=0,que[MAXN];
17 long long ans[MAXN]={0};
18
19 bool cmp(Line a,Line b){
20 return a.k>b.k;
21 }
22
23 bool cmp2(Query a,Query b){
24 return a.x<b.x;
25 }
26
27 int main(){
28 long long i,j;
29 cin>>n>>q;
30 for(i=0;i<n;i++)
31 cin>>lines[i].k>>lines[i].b;
32 for(i=0;i<q;i++){
33 cin>>queries[i].x;
34 queries[i].id=i;
35 }
36 sort(lines,lines+n,cmp);
37 sort(queries,queries+q,cmp2);
38 for(i=0;i<n;i++){
39 while(rear-front>1 && lines[que[rear-1]]+lines[que[rear-2]]>lines[i]+lines[que[rear-1]])
40 rear--;
41 que[rear++]=i;
42 }
43 for(i=0;i<q;i++)
44 while(rear-front>1 && lines[que[front]]+lines[que[front+1]]<queries[i].x)
45 front++;
46 ans[queries[i].id]=lines[que[front]].k*queries[i].x+lines[que[front]].b;
47 }
48 for(i=0;i<n;i++)
49 cout<<ans[i]<<' ';
50 cout<<endl;
51 return 0;
52 }
编译信息
10-convexhullopt.cpp:48:2: error: expected unqualified-id before ‘for’
for(i=0;i<n;i++)
^~~
10-convexhullopt.cpp:48:10: error: ‘i’ does not name a type
for(i=0;i<n;i++)
^
10-convexhullopt.cpp:48:14: error: ‘i’ does not name a type
for(i=0;i<n;i++)
^
10-convexhullopt.cpp:50:2: error: ‘cout’ does not name a type; did you mean ‘cosl’?
cout<<endl;
^~~~
cosl
10-convexhullopt.cpp:51:2: error: expected unqualified-id before ‘return’
return 0;
^~~~~~
10-convexhullopt.cpp:52:1: error: expected declaration before ‘}’ token
}
^
[taocp@doorofacp Basic]$ g++ -o 10-convexhullopt 10-convexhullopt.cpp
10-convexhullopt.cpp:48:2: error: expected unqualified-id before ‘for’
for(i=0;i<n;i++)
^~~
10-convexhullopt.cpp:48:10: error: ‘i’ does not name a type
for(i=0;i<n;i++)
^
10-convexhullopt.cpp:48:14: error: ‘i’ does not name a type
for(i=0;i<n;i++)
^
10-convexhullopt.cpp:50:2: error: ‘cout’ does not name a type; did you mean ‘cosl’?
cout<<endl;
^~~~
cosl
10-convexhullopt.cpp:51:2: error: expected unqualified-id before ‘return’
return 0;
^~~~~~
10-convexhullopt.cpp:52:1: error: expected declaration before ‘}’ token
}
^
不知道为什么for循环CE